Presentation is loading. Please wait.

Presentation is loading. Please wait.

OWASP Mobile TOP 10 학번 : 201578304 이름 : 공 우 진 발표일 : 2015-09-22.

Similar presentations


Presentation on theme: "OWASP Mobile TOP 10 학번 : 201578304 이름 : 공 우 진 발표일 : 2015-09-22."— Presentation transcript:

1 OWASP Mobile TOP 10 학번 : 이름 : 공 우 진 발표일 :

2 배경 용어 OWASP Mobile Top 10 Risk와 대응방안 Top 10 Mobile Controls & Design Principles 해결과제[국내 對 외국 사례] Reference

3 1. 배경 A. OWASP(The Open Web Application Security Project) : 국제 웹 보안표준기구(비영리) 1) 2001년 12월 온라인을 통한 활동을 시작, 2004년 부터 OWASP 10 List 발표 2) 주로 웹에 관한 정보노출, 악성파일 및 스크립트, 보안취약점 등을 연구하며 10대 웹 어플리케이션 취약점(OWASP Top 10)을 3년 주기로 발표한다. 3) 최근에는 Cloud, Mobile 분야에서도 Top 10을 발표하고 있음. 4) 다양한 소프트웨어 보안강화를 위한 Conference 개최, 연구보고서 발간 등의 활동 수행. B. ENISA(European Network and Information Security Agency) : 유럽네트워크정보보호원 1) 설립 : 2003년 2월 11일 유럽의회 발표, 2003년 6월 설립 2) 역할 : - 정보보호에 대한 데이터 수집 및 분석, EU 국가들에 전문기술과 경험을 제공 - 주요 관련 기관의 조정역할을 수행하여 정보보호 표준화 활동 - 네트워크와 정보시스템의 연동을 조화시키는 역할을 담당

4 1. 배경 C. Reason 1) 무선 통신 기술 발전 및 인프라 확대  WAP, 위성/기지국, 국제 표준 전쟁 등
2) 무료/유료 App 취약점 해킹  App 변조 판매 및 유통 확대 3) Big Data 및 IoT 연계  해커들의 도구화 가능성 업무환경 변화 : Mobile 업무환경으로 급속도로 변화  Mobile 보안 위협 급증

5 1. 배경 카스퍼스키 랩 ‘2012년 보안 위협 통계 분석 보고서’ - Mobile 악성코드 폭발적 증가.(보고서 기준)
카스퍼스키 랩 ‘2012년 보안 위협 통계 분석 보고서’ - Mobile 악성코드 폭발적 증가.(보고서 기준) Android 단말 대상(유포/ 수집된 약 99% 이상) - 2011년 1월 약 8개의 신종 Android 악성코드 수집 - 2011년 월 평균 약 800여 개 악성코드 샘플 수집 - 2012년 월 평균 6,300여 개 Mobile 악성코드 수집. Mobile 악성코드들은 대부분 스마트 폰 단말의 OS 취약점, 설치되어 있는 어플리케이션의 취약점을 이용  “악의적인 행동” 스마트 폰을 좀비화 시키는 DDoS Botnet이 설치되었을 때 네트워크 공격을 수행하는 구조로써 Drive-by Download 공격에 의해 설치된 악성코드가 C&C의 명령에 의해 동작하는 모습을 도식화한 것이다. 공격자가 C&C 서버를 통해 사용자의 스마트 폰에 명령을 내릴 경우 3G 기지국 망을 통한 대규모 DDoS 공격이 수행 사용자는 요금이 과금되는 1차적인 금전적 피해 통신사는 DDoS 공격 영향에 따른 기지국 서비스 장애로 인한 2차 피해

6 1. 배경 보급되고 있는 스마트 폰 성능은 거의 PC 수준에 다다르고 있다. 단순한 전화통화 기능을 넘어 각종 게임, 채팅, 인터넷 서핑, 인터넷 뱅-킹 등 다양한 서비스를 제공하고 있다. 하지만 스마트 폰 사용하는 애플리케이션의 취약점, 운영체제의 취약점, Mobile 웹 사이트를 통한 취약점 등 보안 문제가 발생하고 있지만, 대부분의 스마트 폰 사용자들은 이러한 사실을 중요하게 생각하지 않고 있다. * 2013년 유료 App 상위 100개 테스트 - Android App 100% 해킹  판매(해킹 App) - iOS App 56% 해킹  유통 (해킹 App) - 특히 Android App의 경우 시장 점유율이 81%  큰 위협. * 2013년 무료 App 상위 100개 테스트 - Android App 73% 해킹  유통 - iOS App 53% 해킹  유통 - 해킹은 리버싱과 크래킹을 말한다 1 .

7 2. Concordance Reverse Engineering(리버싱) : 사전적 의미로 뒤집다와 공학이 합쳐져 흔히 역 공학이라고도 불리며 완성된 프로그램을 분석하여 제품의 설계방법 , 기법 등을 알아내는 기술로써 좋은 쪽으로는 유지,개발,보안에 사용되며 나쁜 쪽으로는 크랙 및 기술을 빼오는데 사용되는 기법입니다. 소스코드를 컴퓨터가 이해할 수 있도록 기계어로 번역하여 즉 컴파일 하여 생성된 바이너리 형식의 실행코드를 어셈블리어를 이용하여 역으로 소스코드로 변환하여 분석하는 작업을 의미합니다.

8 2. Concordance 2. 어셈블리어 : 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어로 바이너리 형태의
기계어를 사람이 이해하기 쉽게 니모닉 기호를 이용하여 변형시킨 언어 3. 바이너리 : 0, 1 두 숫자로 이루어진 이진형태를 의미하며 실행코드가 바이너리(이진) 형태의 파일입니다. 4. Crack(크랙) : 사전적 의미로 깨다,부수다, 균열 등의 의미를 가진 게임, 유틸리티 등의 복사 금지, 실행 금지 등을 깨는 파일, 혹은 그런 행위로 리버싱을 악용한 사례 5. Cracking(크래킹) : 크랙을 하는 행위 6. 바이너리 변조 : 바이너리 형태의 Mobile 어플리케이션 실행파일을 변조하는 것으로 정상 APP의 프로그램 소스와 리소스를 통째로 빼내 악의적 코드를 삽입해 다시 정상 APP으로 위장해 유포하는 방법인 APP 리패키징을 통해 위·변조 APP 제작 등에 악용 기계어 어셈블리어 (바이너리) mov al, 061h(니모닉 코드)

9 2. Concordance 7. 하이브리드 App : Mobile 디바이스에 최적화된 언어로 개발된 네이트브 APP과 APP 스토어를 통해 배포되지만 주요 화면구성은 브라우저를 기반으로 하는 Mobile 웹의 결합된 개념 8. Dialler-ware (다이얼러 웨어) : 무단 전화 통화를 통해 전화요금을 가로채는 악성 S/W 9. Spyware : 동의 없이 설치되어 디바이스 사용에 불편을 끼치거나 정보를 가로채가는 악성 프로그램

10 2. Concordance 10. 탈옥과 루팅 : 아이콘 수정 언락, 멀티태스킹 제한 언락, 통신사나 제조사가 App 삭제 등 제한된 사용자 세팅을 편의를 위해 푸는 행위로 디바이스와 O/S에 따라 탈옥과 루팅으로 분류 11. Jail break (탈옥) : Unix 기반의 애플의 ios가 폐쇄적인 샌드-박스 구조로 되어 있는 것을 수감되어 있는 상태로 보고 루트권한을 획득하고 부트-로더를 열며 써드-파티 APP들을 설치 가능하게 해주는 것 12. Rooting (루팅) : 안드로이드 O/S에서 루트권한을 획득 하는 것으로 일괄적으로 다 해줘야 하는 탈옥과 달리 부트로더 언 락, 루트권한 획득을 따로 진행 13. Pasteboard : APP이나 웹 이용 시 텍스트 및 이미지 등 내용을 복사하여 임시로 보관하는 용도(클립보드) 14. HandleOpenURL : APP을 호출하는 파라메터 (myapp://some/path/here?foo=1&bar=2) 15. OpenURL : 정보 자원에 대한 메타 데이터를 포함하여 관련된 콘텐츠와 여러 자원을 제공받을 수 있는 확장된 URL (

11 2. Concordance 16. 루트 킷 : 루트 권한을 획득한 공격자가 심어놓은 프로그램을 숨기기 위한 목적으로 사용되는 프로그램으로 최근 백도어나 파일 등의 흔적을 관리자가 볼 수 없도록 하는 프로그램에 대한 명칭으로 사용되며 루트 킷은 펌-웨어, 가상화 계층, 부트로더, 커널, 라이브러리 등 다양한 곳에서 작동할 수 있습니다. 17. Spoofing(스푸핑) : 사전적 의미는 '속이다'이며 네트워크에서 정보를 속이며 공격하는 행위를 말하며 MAC주소를 속이는 ARP스푸핑과 IP를 속이는 IP스푸핑, 도메인 주소를 속이는 DNS스푸핑이 있습니다.

12 2. Concordance 18. Forward(포워드) : web page이동하는 방식으로 내부에서 직접 페이지 호출하며 클라이언트가 페이지 이동을 알 수 없는 형태 19. Redirect(리다이렉트) : web page이동하는 방식으로 클라이언트에 이동한 페이지 전달하여 클라이언트가 직접 호출하여 이동하는 형태 URL 파라미터 값에 특정 페이지를 삽입함으로써 일반 사용자를 공격자가 설정한 악성 페이지로 유도하는 공격인 검증되지 않은 리다이렉트와 포워딩에 이용될 수 있음

13 3. OWASP Mobile Top 10 M1 서버사이드 통제 취약점 M6 취약한 암호화 M2 안전하지 않은 데이터 저장

14 3. OWASP Mobile Top 10 OWASP Web 2013
개발 시 하이브리드 App으로 많이 개발되기 때문에 클라이언트에서 Parameter 값 변조를 통한 웹에서 발생 할 수 있는 취약점 OWASP Web 2013 A1 Injection A2 Broken Authentication & Session Management (인증 및 세션 관리 취약점) A6 Sensitive Data Exposure A3 Cross-Site Scripting(XSS) 2010-A7 Insecure Cryptographic Storage (안전하지 않은 암호화 저장) A4 Insecure Direct Object Reference (취약한 직접 객체 참조) 2010-A9 Insufficient Transport Layer Protection (불충분한 전송계층 보호) A5 Security Misconfiguration (보안 설정 오류) A7 Missing Function Level Access Control (단계적 접근 제한 기능 누락) A6 Sensitive Data Exposure (민감 데이터 노출) 2010-A8 Failure to Restrict URL Access (URL 접근제한의 실패) A7 Missing Function Level Access Control A8 Cross-Site Request Forgery(CSRF) (크로스 사이트 요청 변조) A9 Using Known Vulnerable Components (알려진 취약점이 있는 Components 사용) A9 Using Known Vulnerable Components 2010-A6 security Misconfiguration (잘못된 보안설정) A10 Unvalidated Redirects & Forwards (검증되지 않은 리다이렉트 및 포워드)

15 3. OWASP Mobile Top 10 M2 안전하지 않은 데이터 저장
스마트 폰 분실 or 공격자에 의해 권한 탈취 시 중요정보 유출 M3 불충분 한 전송 계층 보호 개인정보 or 중요정보들이 네트워크 상에서 평문으로 전송 M4 의도하지 않은 데이터 유출 타 App에서 접근 가능한 데이터 영역에 민감한 정보 저장 시 발생 Risk M5 인증 및 인가 검증 미흡 클라이언트 내부에서 인증 시 우회 가능하기 때문에 인증 검증을 서버 사이드에서 인증 M6 취약한 암호화 개발 시 암호화 기술에 대한 적정성 여부를 판단하여 적용해야 함 M7 클라이언트 사이드 인젝션 클라이언트에서 발생 할 수 있는 인젝션 공격입니다 M8 신뢰할 수 없는 입력을 통한 보안 결정 프로세스 간 통신 시 발생 할 수 있는 취약점 M9 부적절한 세션 처리 서버에서 부여 받은 세션 관리 M10 바이너리 보호 미흡 App과 서버 통신 시 App에 대한 무결성 검증 App에 대한 리버스 엔지니어링을 통한 코드 변조 상용 App을 리버싱 해서 자신이 제작한 App처럼 판매, 이런 App 속에 악성코드 삽입 후 개인정보 탈취

16 4. Risk 및 대응방안 [Hacker] Risk 대응방안 M1 서버사이드 통제 취약점 M2 안전하지 않은 데이터 저장
Mobile 역시 서버와 통신하여 데이터를 받아 옴. 기존 OWASP Top 10(web / cloud) 취약점을 포함하여 발표. 시큐어 코딩과 중요 로직 등 서버사이드에서 동작할 수 있도록 구현 M2 안전하지 않은 데이터 저장 소스코드 및 데이터 내에 중요정보 저장 – 문자열 검색 App 소스코드 내 하드코딩 “계정정보” or “테스트 서버 주소” 등 중요 데이터는 필요한 데이터를 제외하고는 Mobile 디바이스 안에 저장하지 않음. M3 불충분 한 전송 계층 보호 중요정보 전송 시 네트워크 구간에서 암호화 여부 확인 네트워크 암호화에 대한 정당성 여부 네트워크 계층 : 보안 無  도청에 취약 SSL/TLS 적용 (민감한 정보, 세션 토큰 등 전송) CA 인증서 사용 등 M4 의도하지 않은 데이터 유출 개발자가 개발 당시 타 App에서 쉽게 접근 할 수 있는 영역에 취약한 APP이 민감한 정보를 저장할 때 발생 개발 시 민감한 정보 저장여부를 확인하여 접근 가능한 타 App들을 제어하여 노출을 최소화 M5 인증 및 인가 검증 미흡 제한된 App에 대한 사용, 인증된 유저만 사용 할 수 있는 기능에 대한 우회 등 바이너리 변조를 통해 인증 및 권한을 획득함. 모든 Client 인증은 악의적인 사용자에 의해 우회가능가능하면 서버 측에서 인증 및 권한부여 하도록 구성 바이너리 변조에 대한 무결성 검증을 하지 않을 경우 내부 로직 변경으로 인증 우회가 가능. M10과 관련되어 있어서 비교 확인 해야 함.

17 4. Risk 및 대응방안 [Hacker] Risk 대응방안 M6 취약한 암호화 M7 클라이언트 사이드 인젝션
취약한 암호화 방식 적용 할 경우 동작하는 프로토콜에 대해 적용 미흡인 경우 사용 불 충분한 알고리즘 : RC2, MD4/5, SHA1 개발명세서에 명시된 구현 및 테스트 강화 M7 클라이언트 사이드 인젝션 Mobile App  Mobile Device 실행 : 사용자 입력 값 서버사이드 취약점과 반대로 Client에서 발생. 위협되는 취약점 제거 SQLiteInjection. LocalFileclusion, XMLinjection, Javascriptinjection(xss, etc) 등등 M8 신뢰할 수 없는 입력을 통한 보안 결정 프로세스 간의 통신에서 발생할 수 있는 취약점 iOS App 통신 Pasteboard와 HandleOpenURL 지향 필요 시 OpenURL 방식 사용 App 통신 M9 부적절한 세션 처리 인증 후 세션을 부여 받았을 때, 1 세션에 1 Mobile Device가 허용, Mobile App Code 사용자 세션 보호 개발자] 세션 파기 시 Mobile App에서만 세션 파기세션 탈취 시 서버와 통신 가능 : 서버 측 세션도 파기 세션 timeout 설정, 사용 쿠키 파기, 암호화 등 구현 M10 바이너리 보호 미흡 바이너리 변조를 통해 보안솔루션 우회, 권한상승 등 상용 App을 리버싱 해서 자신이 제작한 App처럼 판매, 이런 App 속에 악성코드 삽입 후 개인정보 탈취 서버 측에서 해당 App에 대해 변조 확인 필요 보안솔루션 우회, MDM 솔루션 정책 해제, 루팅 및 탈옥탐지 우회, 크랙 등 바이너리 변조 확인 필요

18 5. Mobile 통제 및 설계 상위 10대 원칙[개발]
Top 10 Mobile Controls & Design Principles [ 1. Identify and protect sensitive data on the mobile device (Mobile 장치에서 중요한(민감) 데이터를 식별하고 보호)  위험 : 위험한 민감성 데이터 저장, 폐기 휴대폰 의도하지 않은 노출에 대한 공격: Mobile 디바이스 분실 또는 도난의 위험이 높다. 적절한 보호 장치에서 민감한 데이터의 유실을 최소화하기 위해 설계 되어야 한다. 2. Handle password credentials securely on the device (단말기에서 안전하게 패스워드 인증 정보를 처리)  위험 : 스파이웨어, 감시, 금융 악성코드를 이용 사용자 인증을 통한 도난 당한 경우, 사용자 계정에 의해 Mobile 백-엔드 서비스에 대한 무단 접근을 제공 및 잠재적으로 많은 다른 서비스의 손상을 제공. 위험은 다른 서비스에서 패스워드 재사용 적용 확대가 가능. 3. Ensure sensitive data is protected in transit (중요한 데이터는 전송 중에 보호되고 있는지 확인해라.)  위험 : 네트워크 스푸핑 공격, 감시. 스마트 Phone의 대부분은 Wi-Fi 접속, 제공자 네트워크 (3G, GSM, CDMA 등), 블루투스 등을 포함하여 여러 네트워크 통신을 사용하고 있으며, 안전하지 않은 채널을 통과하는 민감한 데이터를 가로 챌 수 있습니다.

19 5. Mobile 통제 및 설계 상위 10대 원칙[개발]
Top 10 Mobile Controls & Design Principles [ 4. Implement user authentication , authorization and session management correctly (정확한 세션 관리와 사용자 인증, 인가의 구현)  위험 : 허가 받지 않은 개인 인증 시스템 (로그인)을 우회하거나 유효한 토큰이나 쿠키를 재사용함으로써 민감한 데이터 또는 시스템에 대한 액세스를 얻을 수 있다 5. Keep the backend APIs (services) and the platform (server) secure (보안 백엔드 API(서비스)와 플랫폼(서버) 유지)  위험 : 백엔드 시스템과 Cloud Storage를 통해 데이터의 유실에 대한 공격. Mobile 애플리케이션의 대부분은 REST / 웹 서비스 또는 고유 프로토콜을 사용하여 백엔드 API와 상호 작용한다. 백엔드로 전송하거나, Mobile 애플리케이션을 통해 백엔드을 공격하는 경우에 공격자가 Mobile 장치의 데이터를 손상시킬 것이다 6. Secure data integration with third party services and applications (타사 서비스 및 응용 프로그램과 보안 데이터 통합)  위험 : 데이터 유출. 사용자가 악의적 일 수 있으며 악의적인 목적을 위해 개인 정보 (또는 다른 민감한 저장된 데이터)를 전송 할 수 있는 응용 프로그램을 설치할 수 있습니다.

20 5. Mobile 통제 및 설계 상위 10대 원칙[개발]
Top 10 Mobile Controls & Design Principles [ 7. Pay specific attention to the collection and storage of consent for the collection and use of the user’s data (수집 및 저장 시 사용자 정보 수집 및 이용에 대한 동의에 특별한 주의)  위험 : 개인 또는 개인 정보의 의도하지 않은 노출, 불법 데이터 처리. 유럽연합(EU)에서는 개인 정보의 수집에 대한 사용자의 동의를 받는 것은 필수 사항입니다. 8. Implement controls to prevent unauthorized access to paid-for resources (wallet, SMS, phone calls etc.) (지불 자원(지갑, SMS, 전화 등)에 무단 접근 방지를 위한 통제를 구현)  위험 : 스마트 폰 App은 프리미엄 요금 전화 통화, SMS, 데이터 로밍, NFC 결제 등으로 프로그램 (자동) 액세스 권한을 부여. 접근권한을 가지진 APP은 공격자에게 사용자 금융자원에 대한 액세스를 제공하는 재정에 미치는 취약점 영향 고려 및 남용을 방지하기 위한 특별한 주의를 기울여야 합니다. 9. Ensure secure distribution/provisioning of mobile applications (Mobile 애플리케이션의 안전한 유통 / 구축을 확인)  위험 : 보안 유통 관행의 사용은 OWASP Mobile 10 위험과 ENISA의 10 위험에 설명 된 모든 위험을 완화하기 위해 중요하다.

21 5. Mobile 통제 및 설계 상위 10대 원칙[개발]
Top 10 Mobile Controls & Design Principles [ 10. Carefully check any runtime interpretation of code for errors (신중하게 오류 코드의 실행 해석을 확인)  위험 : 코드의 런타임 해석은 확인되지 않은 입력을 제공하는 신뢰할 수 없는 관계자에 대한 판단을 제공합니다. 예를 들면, 게임에서 별도의 수준, 스크립트, SMS 헤더 해석. App-Store에서 제공하는 안전한 내부 통제를 우회하는 악성 코드에 대한 기회를 제공합니다. 데이터 유출, 감시, 스파이웨어 및 diallerware로 이어지는 주입 공격으로 이어질 수 있음.

22 6. 해결과제[국내 對 외국 사례] 1. 현황비교 App 국내 해외 비고 Code, Logic JAVA Objective-C
C/C++ Coding 감독 기관 금융기관-금융 사 자율 판단 법적 제제 약함 강함 투자 비용 보통 or 최소 보통 이상 보안 설계 최소한의 범위(권고사항) 장기적 안목 전문 분야 Accept IS or PI Specialization 전문 인력 부족 유지 2. 개선방안 ? 정부 기업 개발자/운영자 사용자 규정완화 투자확대 코딩준수/보안강화 유료 콘텐츠

23 7. Reference OWASP. 10 Mobile 위험. [온라인] OWASP. 10 Web [온라인] OWASP의 위험등급방법론 웹 페이지 취약점을 통한 Mobile 악성코드 유포 방식 분석(KISA, 2013)

24


Download ppt "OWASP Mobile TOP 10 학번 : 201578304 이름 : 공 우 진 발표일 : 2015-09-22."

Similar presentations


Ads by Google