SlideShare a Scribd company logo
1 of 35
安全開發 - 應用
程式弱點自動偵
測及修正
Jim Liu
Chief Geek, Lucent Sky
Agenda
• 應用程式的弱點在哪裡?他們為什麼不好?
• 該怎麼識別弱點?
• 如何修正弱點?
• 甚麼是AVM (Application Vulnerability
Mitigation)?
應用程式弱點是什麼?
• 應用程式弱點是指
原始碼中讓駭客可
以繞過安全特性,
例如認證或防火牆
的錯誤
安全特性
應用程式安全是場艱苦的戰役
的網站都有弱點可能導致資料外洩
平均一個網站約有 個弱點
70%
480
這是個昂貴的問題,修復也是
平均修正一個網站
的弱點費用約
這段程式碼有什麼問題?
<% String eid = request.getParameter("eid"); %>
Employee ID: <%= eid %>
這段呢?
String userName = ctx.getAuthenticatedUserName();
String itemName = request.getParameter("itemName");
String query = "SELECT * FROM items WHERE owner = '"
+ userName + "' AND itemname = '"
+ itemName + "'";
List items = sess.createSQLQuery(query).list();
常見的弱點:Cross-Site Scripting
• 可以在用戶的瀏覽
器執行任意的
JavaScript
• 幾乎所有熱門的網
站都有被跨網站指
令碼攻擊過
常見的弱點:SQL Injection
• 可以任意在資料庫主
機上執行SQL查詢和
系統指令
• 超過80%的台灣電子
商務網站現在存在
SQL資料隱碼攻擊的
弱點
Agenda
• 應用程式的弱點在哪裡?他們為什麼不好?
• 該怎麼識別弱點?
• 如何修正弱點?
• 甚麼是AVM (Application Vulnerability
Mitigation)
啤酒時間!
• 你是怎麼識別自己應用程式
中的弱點的?
• 你採取了那些方法去預防發
布後的應用程式弱點?
三種不同的靜態程式碼分析工具
動態還是靜態測試?
靜態安全檢測(SAST)很精確,
但實際上他做了什麼?
Agenda
• 應用程式的弱點在哪裡?他們為什麼不好?
• 該怎麼識別弱點?
• 如何修正弱點?
• 甚麼是AVM (Application Vulnerability
Mitigation)?
你會怎麼處理這個弱點?
<% String eid = request.getParameter("eid"); %>
Employee ID: <%= eid %>
你會怎麼處理這個弱點?
<% String eid = request.getParameter("eid"); %>
Employee ID: <%=
ESAPI.encoder().encodeForHTMLAttribute(eid) %>
那這個呢?
String userName = ctx.getAuthenticatedUserName();
String itemName = request.getParameter("itemName");
String query = "SELECT * FROM items WHERE owner = '"
+ userName + "' AND itemname = '"
+ itemName + "'";
List items = sess.createSQLQuery(query).list();
那這個呢?
String userName = ctx.getAuthenticatedUserName();
String itemName = request.getParameter("itemName");
String query = "SELECT * FROM items WHERE owner = '"
+ userName + "' AND itemname = '"
+ ESAPI.encoder().encodeForSQL(itemName)
+ "'";
List items = sess.createSQLQuery(query).list();
Agenda
• 應用程式的弱點在哪裡?他們為什麼不好?
• 該怎麼識別弱點?
• 如何修正弱點?
• 甚麼是AVM (Application Vulnerability
Mitigation)?
AVM: 像是對你的程式碼做拼字檢查
很快就會支援Eclipse/NetBeans
來看看AVM的Demo
如何修正弱點 –
Case Study
Edward Chen
Security Consultant, M-Power
整合至系統開發流程
• 程式開發人員主要著重在系統功能的開發,
因此程式碼弱點掃描則只要在最後要上版
前完成程式碼修正。
• 現行的開發流程皆會透過CI (Continuous
Integration)來完成最後的程式上版前的測試
與程式佈署上版。
• 使用簡易的方式自動修正程式碼中的弱點
以降低開發流程的複雜。
簡單易用的操作介面
操作指令-建立專案
• create project
– mono
console/SkyAnalyzer.Interface.Console.exe –
credential user_name --interface project --method
create --projectname projectname --
projectframework Java --projectid project_id
操作指令-掃描排程建立
• create scan
– mono console/SkyAnalyzer.Interface.Console.exe -
-credential user_name --interface scan --method
create --projectid project_id --scanid scan_id
操作指令-分析程式碼弱點
• analysis source
– mono console/SkyAnalyzer.Interface.Console.exe -
-credential user_name --interface scan --method
analyze --scanid scan_id --
scanmitigatedproject ”source_code_archive_file"
操作指令-確認掃描排程
• Checking the status of a scan
– mono
console/SkyAnalyzer.Interface.Console.exe –
credential user_name --interface scan --method
status --scanid scan_id
操作指令-取回修正後的程式碼
• Downloading mitigated source code
– mono SkyAnalyzer.Interface.Console.exe –
credential user_name --interface scan --method
mitigate --scanid scan_id--scanmitigatedproject
"secure_code_archive_file"
自動修補程式碼的安全漏洞
• 修改前
• 修改後
謝謝指教
Jim Liu
Chief Geek, LUCENT SKY
Edward Chen
Security Consultant, M-Power

More Related Content

Viewers also liked

Mandala relaciones laborales
Mandala relaciones laboralesMandala relaciones laborales
Mandala relaciones laboralesgenesis1811
 
20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウム
20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウム20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウム
20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウムKeio University
 
Mandala relaciones laborales
Mandala relaciones laboralesMandala relaciones laborales
Mandala relaciones laboralesgenesis1811
 
JGJ48 : Intel Realsense - Firstman Marpaung
JGJ48 : Intel Realsense - Firstman MarpaungJGJ48 : Intel Realsense - Firstman Marpaung
JGJ48 : Intel Realsense - Firstman MarpaunggamelanYK
 
10 вредных советов
10 вредных советов10 вредных советов
10 вредных советовYulia Nesterova
 
Travel To Morocco For An Unforgettable Experience
Travel To Morocco For An Unforgettable ExperienceTravel To Morocco For An Unforgettable Experience
Travel To Morocco For An Unforgettable Experiencefourmyson7
 
Mandala relaciones laborales
Mandala relaciones laboralesMandala relaciones laborales
Mandala relaciones laboralesgenesis1811
 
Courses at niilm university
Courses at niilm universityCourses at niilm university
Courses at niilm universityniilmcourses
 
NIILM University Courses
NIILM University CoursesNIILM University Courses
NIILM University Coursesniilmcourses
 
Untitled presentation.jpeg
Untitled presentation.jpegUntitled presentation.jpeg
Untitled presentation.jpegJulie Gilbert
 
идеальный руководитель проектной группы
идеальный руководитель проектной группыидеальный руководитель проектной группы
идеальный руководитель проектной группыYulia Nesterova
 

Viewers also liked (15)

Mandala relaciones laborales
Mandala relaciones laboralesMandala relaciones laborales
Mandala relaciones laborales
 
20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウム
20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウム20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウム
20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウム
 
Mandala relaciones laborales
Mandala relaciones laboralesMandala relaciones laborales
Mandala relaciones laborales
 
JGJ48 : Intel Realsense - Firstman Marpaung
JGJ48 : Intel Realsense - Firstman MarpaungJGJ48 : Intel Realsense - Firstman Marpaung
JGJ48 : Intel Realsense - Firstman Marpaung
 
Environment Consultant PowerPoint
Environment Consultant PowerPointEnvironment Consultant PowerPoint
Environment Consultant PowerPoint
 
Estadistica
EstadisticaEstadistica
Estadistica
 
10 вредных советов
10 вредных советов10 вредных советов
10 вредных советов
 
Travel To Morocco For An Unforgettable Experience
Travel To Morocco For An Unforgettable ExperienceTravel To Morocco For An Unforgettable Experience
Travel To Morocco For An Unforgettable Experience
 
Estadisticas
EstadisticasEstadisticas
Estadisticas
 
T1
T1T1
T1
 
Mandala relaciones laborales
Mandala relaciones laboralesMandala relaciones laborales
Mandala relaciones laborales
 
Courses at niilm university
Courses at niilm universityCourses at niilm university
Courses at niilm university
 
NIILM University Courses
NIILM University CoursesNIILM University Courses
NIILM University Courses
 
Untitled presentation.jpeg
Untitled presentation.jpegUntitled presentation.jpeg
Untitled presentation.jpeg
 
идеальный руководитель проектной группы
идеальный руководитель проектной группыидеальный руководитель проектной группы
идеальный руководитель проектной группы
 

Similar to Java day 2014_20140723_v2

.NET Security Application/Web Development - Part IV
.NET Security Application/Web Development - Part IV.NET Security Application/Web Development - Part IV
.NET Security Application/Web Development - Part IVChen-Tien Tsai
 
議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析Nicolas su
 
Rsa2012 下一代安全的战略思考-绿盟科技赵粮
Rsa2012 下一代安全的战略思考-绿盟科技赵粮Rsa2012 下一代安全的战略思考-绿盟科技赵粮
Rsa2012 下一代安全的战略思考-绿盟科技赵粮NSFOCUS
 
使安全成為軟體開發必要部分
使安全成為軟體開發必要部分使安全成為軟體開發必要部分
使安全成為軟體開發必要部分Taien Wang
 
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...Wales Chen
 
淡江大學 - 產品測試+安全性測試+壓力測試
淡江大學 - 產品測試+安全性測試+壓力測試淡江大學 - 產品測試+安全性測試+壓力測試
淡江大學 - 產品測試+安全性測試+壓力測試Taien Wang
 
分会场四服务器安全防护的意义与价值
分会场四服务器安全防护的意义与价值分会场四服务器安全防护的意义与价值
分会场四服务器安全防护的意义与价值ITband
 
Internet System Security Overview
Internet System Security OverviewInternet System Security Overview
Internet System Security OverviewChinaNetCloud
 
20140610 net tuesday - 行動裝置安全
20140610 net tuesday - 行動裝置安全20140610 net tuesday - 行動裝置安全
20140610 net tuesday - 行動裝置安全Net Tuesday Taiwan
 
Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分Hiiir Lab
 
基于Ht rca缺陷分析的测试改进-china test-张玲玲
基于Ht rca缺陷分析的测试改进-china test-张玲玲基于Ht rca缺陷分析的测试改进-china test-张玲玲
基于Ht rca缺陷分析的测试改进-china test-张玲玲drewz lin
 
PIC_Experience2
PIC_Experience2PIC_Experience2
PIC_Experience2ray chen
 
2007 - 应用系统脆弱性概论
2007 - 应用系统脆弱性概论 2007 - 应用系统脆弱性概论
2007 - 应用系统脆弱性概论 Na Lee
 
20210928 #118 - 給非營利組織的資安自保手冊
 20210928 #118 - 給非營利組織的資安自保手冊 20210928 #118 - 給非營利組織的資安自保手冊
20210928 #118 - 給非營利組織的資安自保手冊Net Tuesday Taiwan
 
網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享Ying-Chun Cheng
 
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列Chris Wang
 
基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗Taien Wang
 
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗Hiiir Lab
 

Similar to Java day 2014_20140723_v2 (20)

.NET Security Application/Web Development - Part IV
.NET Security Application/Web Development - Part IV.NET Security Application/Web Development - Part IV
.NET Security Application/Web Development - Part IV
 
議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析
 
Rsa2012 下一代安全的战略思考-绿盟科技赵粮
Rsa2012 下一代安全的战略思考-绿盟科技赵粮Rsa2012 下一代安全的战略思考-绿盟科技赵粮
Rsa2012 下一代安全的战略思考-绿盟科技赵粮
 
使安全成為軟體開發必要部分
使安全成為軟體開發必要部分使安全成為軟體開發必要部分
使安全成為軟體開發必要部分
 
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
 
軟體安全防護大作戰
軟體安全防護大作戰軟體安全防護大作戰
軟體安全防護大作戰
 
淡江大學 - 產品測試+安全性測試+壓力測試
淡江大學 - 產品測試+安全性測試+壓力測試淡江大學 - 產品測試+安全性測試+壓力測試
淡江大學 - 產品測試+安全性測試+壓力測試
 
分会场四服务器安全防护的意义与价值
分会场四服务器安全防护的意义与价值分会场四服务器安全防护的意义与价值
分会场四服务器安全防护的意义与价值
 
Internet System Security Overview
Internet System Security OverviewInternet System Security Overview
Internet System Security Overview
 
20140610 net tuesday - 行動裝置安全
20140610 net tuesday - 行動裝置安全20140610 net tuesday - 行動裝置安全
20140610 net tuesday - 行動裝置安全
 
Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分
 
基于Ht rca缺陷分析的测试改进-china test-张玲玲
基于Ht rca缺陷分析的测试改进-china test-张玲玲基于Ht rca缺陷分析的测试改进-china test-张玲玲
基于Ht rca缺陷分析的测试改进-china test-张玲玲
 
PIC_Experience2
PIC_Experience2PIC_Experience2
PIC_Experience2
 
2007 - 应用系统脆弱性概论
2007 - 应用系统脆弱性概论 2007 - 应用系统脆弱性概论
2007 - 应用系统脆弱性概论
 
20210928 #118 - 給非營利組織的資安自保手冊
 20210928 #118 - 給非營利組織的資安自保手冊 20210928 #118 - 給非營利組織的資安自保手冊
20210928 #118 - 給非營利組織的資安自保手冊
 
網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享
 
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列
 
基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗
 
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
 
淺談Android app之攻防思維
淺談Android app之攻防思維淺談Android app之攻防思維
淺談Android app之攻防思維
 

Java day 2014_20140723_v2

Editor's Notes

  1. Application vulnerabilities are bugs in source code that allow hackers to bypass security features such as authentication or firewall
  2. Application Security Feels Like an Uphill Battle
  3. They’re expensive problems, and also are expensive to fix
  4. Allow the execution of arbitrary JavaScript on website visitors browsers Almost every popular website has been hit with XSS in the past
  5. Allow the execution of arbitrary SQL queries and system commands on the database server Over 80% of e-commerce sites in Taiwan currently have SQL injections
  6. What did you do to identify vulnerabilities in your applications? What steps were taken to prevent vulnerable applications from being published?
  7. Three different kinds of static code analysis tools
  8. Dynamic or static testing?
  9. SAST is accurate, but what does it really do?
  10. What do you do with vulnerabilities?
  11. AVM: it’s like autocorrect for your code
  12. It’ll work Eclipse/NetBeans soon… :x
  13. See AVM in action