Biblio

Filters: Author is Wang, Bow-Yaw  [Clear All Filters]
2018-05-09
Tsai, Ming-Hsien, Wang, Bow-Yaw, Yang, Bo-Yin.  2017.  Certified Verification of Algebraic Properties on Low-Level Mathematical Constructs in Cryptographic Programs. Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. :1973–1987.
Mathematical constructs are necessary for computation on the underlying algebraic structures of cryptosystems. They are often written in assembly language and optimized manually for efficiency. We develop a certified technique to verify low-level mathematical constructs in X25519, the default elliptic curve Diffie-Hellman key exchange protocol used in OpenSSH. Our technique translates an algebraic specification of mathematical constructs into an algebraic problem. The algebraic problem in turn is solved by the computer algebra system Singular. The proof assistant Coq certifies the translation and solution to algebraic problems. Specifications about output ranges and potential program overflows are translated to SMT problems and verified by SMT solvers. We report our case studies on verifying arithmetic computation over a large finite field and the Montgomery Ladderstep, a crucial loop in X25519.
2017-05-22
Yu, Fang, Shueh, Ching-Yuan, Lin, Chun-Han, Chen, Yu-Fang, Wang, Bow-Yaw, Bultan, Tevfik.  2016.  Optimal Sanitization Synthesis for Web Application Vulnerability Repair. Proceedings of the 25th International Symposium on Software Testing and Analysis. :189–200.

We present a code- and input-sensitive sanitization synthesis approach for repairing string vulnerabilities that are common in web applications. The synthesized sanitization patch modifies the user input in an optimal way while guaranteeing that the repaired web application is not vulnerable. Given a web application, an input pattern and an attack pattern, we use automata-based static string analysis techniques to compute a sanitization signature that characterizes safe input values that obey the given input pattern and are safe with respect to the given attack pattern. Using the sanitization signature, we synthesize an optimal sanitization patch that converts malicious user inputs to benign ones with minimal editing. When the generated patch is added to the web application, it is guaranteed that the repaired web application is no longer vulnerable. We present refinements to previous sanitization synthesis algorithms that reduce the runtime sanitization cost significantly. We evaluate our approach on open source web applications using common input and attack patterns, demonstrating the effectiveness of our approach.