Damian Johnson commited on 2016-02-29 18:00:35
Zeige 1 geänderte Dateien mit 138 Einfügungen und 0 Löschungen.
... | ... |
@@ -1527,6 +1527,144 @@ implementation. |
1527 | 1527 |
</p> |
1528 | 1528 |
</li> |
1529 | 1529 |
|
1530 |
+ <a id="stegotorus"></a> |
|
1531 |
+ <li> |
|
1532 |
+ <b>Make Stegotorus deployment ready</b> |
|
1533 |
+ <br> |
|
1534 |
+ Language: <i>C++</i> |
|
1535 |
+ <br> |
|
1536 |
+ Likely Mentors: <i>vmon</i> |
|
1537 |
+ <br><br> |
|
1538 |
+ <p> |
|
1539 |
+ <a |
|
1540 |
+ href="https://github.com/TheTorProject/stegotorus/tree/master/src">Stegotorus</a> |
|
1541 |
+ is a PT framework which streamline the development stealthier pluggable |
|
1542 |
+ transport. An HTTP pluggable transport is already implemented in Stegotorus |
|
1543 |
+ framework and can be used when encrypted payloads are throttled and only |
|
1544 |
+ ephemeral connections are tolerated. |
|
1545 |
+ </p> |
|
1546 |
+ |
|
1547 |
+ <p> |
|
1548 |
+ The majority of work on Stegotorus is done and it can be deployed with a relatively minor improvements including: |
|
1549 |
+ </p> |
|
1550 |
+ |
|
1551 |
+ <ul> |
|
1552 |
+ <li><b>#8098 A config file file for Stegotorus</b> |
|
1553 |
+ <p> |
|
1554 |
+ Stegotorus needs many configuration settings specially on the bridge |
|
1555 |
+ side. This include also the configuration required by each steg module. |
|
1556 |
+ Currently the configuration is fed to Stegotorus as command line |
|
1557 |
+ arguments but a file like torrc is needed so all tweaking can be read |
|
1558 |
+ from there. |
|
1559 |
+ </p> |
|
1560 |
+ |
|
1561 |
+ <p><i> |
|
1562 |
+ Current Status and work needed to be done: The code for reading the |
|
1563 |
+ config file is written by SRI but it is not yet used in the Stegotorus |
|
1564 |
+ to read the config. |
|
1565 |
+ </i></p> |
|
1566 |
+ </li> |
|
1567 |
+ |
|
1568 |
+ <li><b>#8101 Debugging the transparent proxy</b> |
|
1569 |
+ <p> |
|
1570 |
+ Stegotorus http module uses other websites payload to hide and serve |
|
1571 |
+ censored traffic. As such it needs to decide if the request is |
|
1572 |
+ genuinely to the auxiliary website, in that case becomes a transparent |
|
1573 |
+ proxy and serves the website content as requested, or if the request is |
|
1574 |
+ actually a request to serve censored material which should be delivered |
|
1575 |
+ to steg modules. |
|
1576 |
+ </p> |
|
1577 |
+ |
|
1578 |
+ <p><i> |
|
1579 |
+ Current Status: This is completely implemented. However, the transparent proxy sometimes crashes and need to be triaged, debugged and fixed. |
|
1580 |
+ </i></p> |
|
1581 |
+ </li> |
|
1582 |
+ |
|
1583 |
+ <li><b>#11337 refactoring the steg module code</b> |
|
1584 |
+ <p> |
|
1585 |
+ The http steg module code, although not essentials to the core of the |
|
1586 |
+ Stegotorus. needs some improvement and clean up. The solution is to |
|
1587 |
+ refactor the steg modules as children of FileStegMod. |
|
1588 |
+ </p> |
|
1589 |
+ |
|
1590 |
+ <p><i> |
|
1591 |
+ Current status and work needed to be done: This has already been done |
|
1592 |
+ but still needs testing and refactoring before it can be reliably merge |
|
1593 |
+ to the master branch. |
|
1594 |
+ </i></p> |
|
1595 |
+ </li> |
|
1596 |
+ |
|
1597 |
+ <li><b>#8089 Adding Elligator to Stegotorus handshake and test</b> |
|
1598 |
+ <p> |
|
1599 |
+ The current Stegotorus handshake is distinguishable from random byte |
|
1600 |
+ string, which can be used to flag and detect Stegotorus traffic |
|
1601 |
+ deterministically and need to be implemented similar to |
|
1602 |
+ ScrambleSuite. Also because the capacity of client to server channel |
|
1603 |
+ might be slim depending on the choice of steg module it is desirable |
|
1604 |
+ to be implemented using Elliptic curve crypto. Hence, Elligator |
|
1605 |
+ protocol is ideal solution for this situation. All we need is to replace Stegotorus handshake by Elligator. |
|
1606 |
+ </p> |
|
1607 |
+ |
|
1608 |
+ <p><i> |
|
1609 |
+ Current Status and work needed to be done: Elligator handshake code is |
|
1610 |
+ included in stegotorus code base, it is only needed to be called by |
|
1611 |
+ instead of the current handshake and be tested. |
|
1612 |
+ </i></p> |
|
1613 |
+ </li> |
|
1614 |
+ |
|
1615 |
+ <li><b>Make Stegotorus memory safe by using shared pointers</b> |
|
1616 |
+ <p> |
|
1617 |
+ Stegotorus has large code base and it is not written in a memory safe |
|
1618 |
+ languages. To facilitate its audit, we need to replace (almost all) use |
|
1619 |
+ of pointers to shared pointers. |
|
1620 |
+ </p> |
|
1621 |
+ |
|
1622 |
+ <p><i> |
|
1623 |
+ Current Status: No progress has not been done. |
|
1624 |
+ </i></p> |
|
1625 |
+ </li> |
|
1626 |
+ |
|
1627 |
+ <li><b>Security Audit and writing more unit test</b> |
|
1628 |
+ <p> |
|
1629 |
+ To be able to deploy Stegotorus for real world use we need to audit the |
|
1630 |
+ code and write more unit test covering new aspects of the Stegotorus |
|
1631 |
+ (new http transport, proxy server, Elligator handshake) |
|
1632 |
+ </p> |
|
1633 |
+ |
|
1634 |
+ <p><i> |
|
1635 |
+ Current Status: No progress has been done. |
|
1636 |
+ </i></p> |
|
1637 |
+ </li> |
|
1638 |
+ |
|
1639 |
+ <li><b>SRI branch merging</b> |
|
1640 |
+ <p> |
|
1641 |
+ Stegotorus has been forked from the initial development from SRI. Now |
|
1642 |
+ that SRI is hosting Stegotorus publicly it is desirable to merge the |
|
1643 |
+ two branches so we can benefit from both developments. |
|
1644 |
+ </p> |
|
1645 |
+ |
|
1646 |
+ <p><i> |
|
1647 |
+ Current Status: No progress has been done. |
|
1648 |
+ </i></p> |
|
1649 |
+ </li> |
|
1650 |
+ |
|
1651 |
+ <li><b>#8099 deterministic build</b> |
|
1652 |
+ <p> |
|
1653 |
+ To make deterministic build possible we need to build many of |
|
1654 |
+ Stegotorus dependency from scratch. Boost library is a a huge |
|
1655 |
+ dependency for Stegotorus to access the file system. As we are only |
|
1656 |
+ planning to deploy Stegotorus bridges on Linux machines we can simplify |
|
1657 |
+ such access without that dependency. By dropping such dependency, it |
|
1658 |
+ should be straight forward to have deterministic build for Stegotorus. |
|
1659 |
+ </p> |
|
1660 |
+ |
|
1661 |
+ <p><i> |
|
1662 |
+ Current Status: No progress has been done. |
|
1663 |
+ </i></p> |
|
1664 |
+ </li> |
|
1665 |
+ </ul> |
|
1666 |
+ </li> |
|
1667 |
+ |
|
1530 | 1668 |
<!-- |
1531 | 1669 |
<a id=""></a> |
1532 | 1670 |
<li> |
1533 | 1671 |