??????????????????????????????????????Σ???ν??и?Ч???????????????????????????????????????????????????????????????????????????????????????????и?Ч????????????????????????

????????????????????????????

????????????????????????????????????????????????????й???????????????????????????????????????С?????????????????????????????????????????й???????????????????????????????????????????????WEB????????????OWASP Top Ten??????????WEB?????????????????ж??????????????????????????????檔???????????????Fortify Software???????????????????а??????????????????????????????????檔??????????????????????????????????????????У?

???????????(Command Injection)

??????????(Cross-Site Scripting)

???????????(Denial of Service)

????HTTP??????(HTTP Response Splitting)

????·??????(Path Manipulation)

??????????(Resource Injection)

???????ò???(Setting Manipulation)

????SQL???(SQL Injection)

?????????????????(Access Control: Database)

???????α?? (Log Forging)

???????????????????????????????????????????????????????????????????????У?

????1.??????????????????????????????????????а????裬???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????п??????????????????????????????????????????????????????????????????????????????????????????Σ???????????Ρ????????????????????????????????????????????????????????????????????????????

????2.?????????????????????????????????????????????????????????????????????????????????????й?????????????????????????????????????????????????????????Ч????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????20%-30%???????????

????????Dynamic Taint Propagation????

???????????????????????????????????????????????????????????????????β????????????????н??????????????????????????????????(Dynamic Taint Propagation)??

???????????????????????????????????????????????е???????????????е??????????????????????????????????????????1??????????κ????????????????????????????????????????????????????????????????????????????????д?????????У????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????д???????е?????ж??????????????????????

?1??????????????????

?????????????????????????в?????????????????????ж?????????о??????????????????????????

????Source:????????????????????????????г???????????????WEB?????????????????????????????????????HTML??Form??????????Request?????????????Cookie???????Щ?????????????????????????Щ??????г?????????????????????????????????????

????Propagation:??????????????????????д?????????У????????Source?????????????????????????????д?????????У???????????????????????????????????????У????????????????????

????Sink:?????????????????п????????????????????Щ??????????????????????????????????????SQL??????HTML??????????????е??????????????Sink???????Sink???????????????????????????????У?????а?????????????????????????????????????????е??????ж????????????????????????????????????

????userID = request.getParameter("user");

????……

????2

????try {

????sql = "SELECT * FROM users " +"WHERE id='" + userID + "'";

????……

????stmt.executeQuery(sql);

????}

??????δ????????????????У?request.getParameter()?????????????“????”?? Source??stmt.executeQuery()?????????????“??????”??Sink???????????????“user”???request.getParameter()???????????????“userID”??? “userID”???????“???”???????? “userID” ?????????“sql”???“sql”????“userID”??“???”?????????“???”?????????“sql”?????Sink????stmt.executeQuery()????е????Sink???????????????“sql”?????????????ж??????????????????????????????Sink???????“???”????“sql”??????????????????SQL???????????????ж????????????????SQL—Injection????????