Chapter 03. 웹 해킹의 기초. Chapter 03. 웹 해킹의 기초 해킹 기술의 진화 일반적인 웹 해킹의 절차 OWASP Top 10 취약점 WebGoat 설치.

Slides:



Advertisements
Similar presentations
비즈쿨 - 정 성 욱 - - 금오공고 비즈쿨 - 정 성 욱 1. 나는 각 단원들의 활동들에 성실하게 참여 하겠습니다. 우리의 다짐 2. 나는 나와 전체의 발전을 위해 각 멘토들의 지도에 순종하겠습니다. 3. 나는 각 단원들을 숙지함으로써 비즈니스 마인드를 함양하고 자신의.
Advertisements

전공 : 컴퓨터 공학 전공 과목 : 인터넷 정보 검색 학번 : , 이름 : 조 항 두, 오 철 원 발표일 :
Google dork 중부대학교 정보보호학과 김인호, 오수빈. 목차 0. 구글해킹에 앞서 1. 구글해킹 이란 2. 구글해킹 검색어 3. 구글해킹 응용 4. 구글해킹 심화 응용 5. 구글해킹 침해사고 대응과 예방 대책 6.QnA.
개인의견 차가있을수있음 훈훈한남자 배우 TOP 5. 5 위는 박보검 웃을때보이는 치명적인 미소 꺄 ~~~ 5위5위.
LOGO 중소기업체 대상 무료 정보보안컨설팅 제안서. LOGOClick To Edit Title Style 목 차 한국 IT 전문학교 해킹 피해 사례 제안의 개요 및 목적 보안컨설팅 수행 절차 기대효과 조직도 및 연락처.
인터넷 쇼핑몰 구축 제안서.
Chapter 02. 웹에 대한 이해. Chapter 02. 웹에 대한 이해 웹의 역사 HTTP 웹 애플리케이션 기술.
1. 과학중점학교 어떤 학교인가? 1. 과학중점학교 어떤 학교인가? 일반 인문계고등학교에서 인문학적 소양과 더불어
QRcode for Mobile Marketing
2013서울특별시장기 전통종목 생활체육 국무도대회 요강
공교육 정상화 및 선행학습 금지 학부모 연수 부천송일초등학교.
SAP PI System 접근 Guide
HACKING 김진수 소준형 유병화.
통합연구사업지원 정산 사용자 설명서 (기관사용자).
Ⅰ웹로그분석을 통한 쇼핑몰 운영전략 코리아 인터넷 마케팅센터 대표 김형택
웹 해킹 기초와 실습.
소비자 만족도 설문조사 결과.
Asymmetric Link 분석.
Chapter 03 웹 해킹의 기초.
Safecode® 3.0 ㈜코드원 웹 애플리케이션 취약점 제거 및 관리 솔루션
웹사이트 구축 제안서 (결혼정보 사이트구축) First Web Agency.
Chapter-2. 개발환경 구축하기.
Chapter 32 Analyzing Web Traffic
3장. 웹 어플리케이션과 JSP 및 Servlet의 이해 제3장.
Chapter 04. 웹 보안 : 웹, 그 무한한 가능성과 함께 성장한 해킹
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
1. WEB access log 형식 2. WEB access log 위치 3. WEB access log 분석
Chapter 06 XSS 공격.
125. WAPPLES Policy Setting Guideline
8장 웹 페이지의 저작.
ASP 정 보 보 호 학 과 양 계 탁.
Chapter 02 웹의 이해.
자영업 컨설팅 결과보고 (월드펀-샵) 고객만족을 통한 매출증대 방안 컨설턴트 - 김임수.
구글해킹과 SQL인젝션 지창훈, 최연우.
독도 바로알기 2. 사료와 지도로 보는 독도.
인터넷 보안 정보 보안 개론 5장.
정보보안 CH4 웹 보안.
Sun Java System Web Server 6.1 설치와 WebLogic 8.1과의 연동
04장 웹 보안: 웹, 그 무한한 가능성과 함께 성장한 해킹
Network Security WireShark를 활용한 프로토콜 분석 II.
CHAPTER 2 자바의 환경 Section 1 자바 프로그램의 형태 Section 2 자바 프로그램의 실행환경.
BIZSIREN 실명확인서비스 개발 가이드 서울신용평가정보㈜ 신용조회부 (TEL , FAX )
낮과 밤 알아보기 슬기로운 생활 2학년 1학기 4. 빛과 그림자>낮과 밤( 4/8 )
1강. 웹프로그래밍 웹프로그래밍이란? JAVA웹 웹프로그램의 동작 필요한 학습 Lecturer Kim Myoung-Ho
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
Chapter 04 인증 기술과 접근 통제.
고구려,백제,신라의 건국과 발전 Start!
칼빈의 생애와 개혁자로의 변모 사학과 김종식.
BROCHURE WEB SITE SSTECH WEB SITE 구성검토안
국제의료관광 관련 법, 제도.
XSS (Cross Site Script)
이 력 서 학 력 사 항 (※ 고교 이후 학력사항 기재) 주 요 경 력 사 항 가 족 사 항 추천인 :
3장. 웹로직 서버에서의 서블릿과 JSP의 운용 3-1. 서블릿, JSP를 실행하기 전의 환경 설정
Computer Network(Hacking)
통합연구사업지원 정산 사용자 설명서 (연구책임자).
Ⅳ. 컴퓨터와 생활.
Ⅳ. 생식과 발생 4. 자손에게 줄 세포 만들기.
“병원 폐기물 소각장” 및 “가축 폐수 처리장” 건축 허가 반대 (2011년 “음식물처리장” 미해결 민원 연관)
JSP와의 첫 만남 간간한 JSP 프로그램을 작성하면서 앞으로 학습에 필요한 과정을 익힌다.
CHAPTER 9-1 한국의 사회복지정책 - 사회보험제도 -
최종 사용자 관점의 웹 서비스 성능 관리 SmartSQM Agentless 실시간 전구간 성능 모니터링
XSS 정 여 진.
주요공지로 정할 글을 올립니다. 제목과 주소를 복사해둡니다
Web Server Install.
Rational Performance Tester
코 칭 결 과 센 터 구성센터 (모바일) 코칭대상 프로 (엔지니어) 코칭일시
Java Programming for Beginners
1. 칭찬 및 고발제도 운영(안) 1. 목적 : 칭찬문화의 전사적 확산,전파를 통한 칭찬문화 조성 및 건전한 회사문화 형성
차세대 응급의료정보망 구축 4차 사업 통합로그인 이용메뉴얼 v1.1.
경찰학 세미나 제 5 강 경찰관직무집행법 2조 5호의 의미 신라대학교 법경찰학부 김순석.
Presentation transcript:

Chapter 03. 웹 해킹의 기초

해킹 기술의 진화 일반적인 웹 해킹의 절차 OWASP Top 10 취약점 WebGoat 설치

웹 해킹의 배경과 기본 지식을 학습한다. 정보를 수집하는 방법을 익힌다. 웹 스캐닝의 원리를 이해한다. 기초적인 웹 해킹의 종류와 기법, 원리를 이해한다. 웹 애플리케이션상의 주요 취약점에 대해 학습한다.

01. 해킹 기술의 진화 배경 해킹은 시스템과 인프라 환경에 따라 지속적으로 변화하기 때문에 해킹의 역사와 배경을 미리 공부해 두면 웹 해킹 이후에 어떤 또 다른 기술이 나올 수 있는지 파악하는 데 도움이 됨 해킹 기술 역시 결국은 사람이 만들고 연구하는 것이기 때문에 해커들의 역사에 대해 알아둘 필요가 있음 국내 해커의 역사 우리나라 해커의 시초는 1986년 한국과학기술원(KAIST)에 다니던 김창범씨가 ‘유니콘’이라는 해커 동아리를 만 들면서 시작되었다고 알려져 있음 1991년 한국과학기술원에서 해커 그룹 쿠스(KUS)가 만들어졌고, 이어 포항공과대학교(POSTECH)에 플러스 (PLUS)가 생겨나면서 자연스럽게 경쟁관계가 형성됨 KAIST-POSTECH 간의 해킹 전쟁을 계기로 쿠스가 해체되었고, 그 멤버 중 하나였던 김휘강(현 고려대학교 정보 보호대학원 교수)은 보안을 강조한 시큐리티 카이스트를 설립함 1990년대 후반은 국내 1세대 해커들이 보안 전문 회사를 만들고, 언더그라운드에서 오버그라운드로 전환하여 본격적으로 활동을 전개하던 시기였음 1990년대 후반 해커스랩, 에이쓰리시큐리티컨설팅, 인젠, 이니텍 등 수많은 보안 회사가 만들어졌고, 널루트 (Null@Root), 와우해커와 같은 언더해커 그룹도 만들어졌음

01. 해킹 기술의 진화 국내 해커의 역사 2000년에 제1회 세계정보보호올림페어(일명, 국제해킹왕중왕대회) 개최 레벨1은 Sun, HP, Windows 서버로, 레벨2는 리눅스 서버(RedHat 6.0)로, 레벨3은 ‘백마고지’ 서버로 방화벽 등 을 통해 보안 수준을 매우 높게 만들어졌음. 당시의 해킹 대회는 지금과 달리 홈페이지의 메인페이지(index.html)에 자신의 닉네임 또는 그룹명을 올리는 ‘Capture the Flag’ 형식이었음 메인페이지는 root 권한으로만 write가 가능하도록 되어 있어 해당 시스템의 root 권한을 얻어야만 웹 사이트를 변조할 수 있었음 백마고지 서버를 점령한 팀이 하나도 없어 우승자를 가리지는 못했음 2001년에 제2회 해킹왕중왕대회(King of Fighters 2001) 개최 레벨1과 레벨2는 우리나라의 널루트 팀이 가장 먼저 통과했으나 레벨3에서 네덜란드 팀에 역전을 당해 3위에 머물렀음 국내에서 국제 해킹 대회가 개최되면서 수많은 언더그라운드 해커들이 대회에 참여하고 경쟁하면서 국내 해커들의 전성시대가 이루어졌음. [그림 3-2] King of Fighters 2001(제2회 해킹왕중왕대회)의 로고

01. 해킹 기술의 진화 웹 해킹이 발전하게 된 배경 해커의 가장 중요한 자질 중 하나는 호기심, 그에 못지 않게 중요한 것은 윤리의식 컴퓨터 시스템에 대한 동경과 호기심 때문에 해커들은 컴퓨터의 근본 원리에까지 파고들었고, 시스템의 버그를 찾거나 그것을 개선하려는 노력을 통해 보다 안전하고 진보된 시스템을 만들 수 있었음 2000년 초반까지만 해도 주로 해킹의 대상은 시스템이었고, 버퍼 오버플로우, 포맷스트링버그 등 다양한 시스템상의 취약점에 대한 연구가 중점적으로 이루어졌음 닷컴 열풍이 불면서 해커들이 점차 웹에 대해 관심을 가지게 되었음. 웹 해킹이 발전하게 된 배경에는 시대적인 흐름도 있었지만, 90년대 중반부터 방화벽과 IDS와 같은 네트워크 보안 장비가 개발된 것도 한 몫을 했음 → 네트워크 포트에 대한 직접적인 공격이 어려워지자 공격자들은 시스 템에 접근하기 위한 접점으로, 외부에 오픈되어 있는 웹을 주 공격 대상으로 삼기 시작 [그림 3-3] 방화벽이 없던 과거 - 어디서나 침입이 가능한 환경이었음 [그림 3-4] 방화벽이 설치된 이후 - 외부와의 유일한 접점은 웹이 되고 있음

01. 해킹 기술의 진화 웹 해킹이 발전하게 된 배경 포트의 어원 ‘포트(Port)’라는 용어를 영어사전에서 찾아보면 ‘항구’라는 뜻 시스템도 다른 시스템과 연결하려면 포트를 통해 연결을 해야 함 비행기가 없던 시절에는 한 나라에서 다른 나라로 이동하려면 반드시 항구를 통해야 했음 → 다른 나라를 공격 하려면 제일 먼저 그 나라에 상륙할 수 있는 항구를 먼저 공격해야 함 ‘인터넷의 바다’, ‘인터넷 항해’라는 말이 종종 쓰이는 것은 한 시스템의 포트에서 데이터가 출발하여 인터넷이 라는 바다를 건너 다른 시스템의 포트에 도달하는 흐름이기 때문 방화벽이 없을 때는 시스템에 열려있는 수많은 포트를 통해 공격을 시도할 수 있었지만2000년 초반부터는 거 의 모든 시스템이 방화벽으로 보호되어 80번 웹 포트 외에는 모두 닫혀있는 경우가 많음 이에 따라 해커들은 시스템과 네트워크에 대한 해킹 공격보다 웹 해킹이라는 주제를 더 많이 연구하게 된 것임

[그림 3-5] 일반적인 해킹(시스템 침투)의 과정 02. 일반적인 웹 해킹의 절차 개요 웹 해킹을 하는 두 가지 방법 직관적으로 취약점이 있을 만한 부분을 찾아 바로 취약점 존재 여부를 확인한 후 그곳을 통해 침투를 시도하 는 방법 전반적으로 발견 가능한 모든 공격 표면을 찾아서 매트릭스를 작성한 후 하나씩 시도해 보는 방법 기업에서는 자사의 정보시스템이 악의적인 해커의 공격으로부터 침해 당하는 것을 예방하기 위해 정보보호 컨 설팅 전문 업체에 모의해킹(침투 테스트: Penetration Test라고도 함)을 의뢰하기도 함 일반적인 해킹의 과정 과거에는 해커들이 명성을 높이기 위해 공격에 성공한 후 웹 페이지를 변조하는 경우(web page defacement)가 많았지만, 요즘은 공격의 추세가 국가적인 사이버 전으로 넓혀짐에 따라 흔적을 교묘히 숨기는 경우도 많음 기업에서 합법적으로 계약을 한 후 모의해킹을 하는 경우에는 공격에 성공했을 때 그 결과와 대응 방안을 담당 자에게 보고 [그림 3-5] 일반적인 해킹(시스템 침투)의 과정

02. 일반적인 웹 해킹의 절차 공격 대상 선정 정보 수집(공격 표면 찾기) 일반적으로 방문자가 가장 많은 대표 웹 사이트가 주요 공격 대상으로 선정됨 기업과 계약하여 모의해킹을 할 때는 주로 공격 대상 목록을 사전에 선정하는 경우도 있음 어떤 방식이든 외부에서 접근할 수 있는 모든 대상을 선정해도 무방하다는 고객도 있는데, 이런 경우에는 구글 검색 등을 통해 관련 도메인을 모두 검색한 후 가장 취약해 보이는 곳을 대상으로 함 정보 수집(공격 표면 찾기) 공격자가 공격 대상에 대해 조사하는 과정에서 얻을 수 있는 모든 정보를 수집하는 것 웹 해킹에서 말하는 정보 수집이란 공격 대상이 보유하고 있는 외부 접점 중 웹 사이트를 통해 웹 애플리케이션 을 개발할 때 사용한 언어, 웹 사이트 내 주요 공격 대상의 기능, 웹 서버의 종류 등을 알아보는 것을 말함 정보 수집 단계에서는 공격 대상이 가지고 있는 특성과 취약한 표면을 찾음 정보 수집을 하는 과정에서 수작업으로 웹 사이트를 방문해서 정보를 수집하는 방법도 있고, 스캐너를 이용하여 자동으로 많은 정보를 수집하는 방법도 있음 웹 사이트 탐색과 분석 웹 해킹을 하기 위한 대상 선정 후 홈페이지에 접속 취약점이 가장 많이 발생하고 영향도가 높은 영역을 먼저 조사 일반적으로 영향도가 높은 취약점은 발견한 취약점으로 인해 웹 서버의 권한을 획득할 수 있거나 내부의 중요한 데이터베이스에 접근할 수 있는 주요 취약점을 말함

[그림 3-6] Burp Suite v1.5를 실행한 화면 02. 일반적인 웹 해킹의 절차 실습 3-1: Burp Suite로 웹 사이트 정보 수집하기 1) Burp Suite를 실행한다. [그림 3-6] Burp Suite v1.5를 실행한 화면

02. 일반적인 웹 해킹의 절차 실습 3-1: Burp Suite로 웹 사이트 정보 수집하기 2) 웹 사이트 접속 조사를 하고 싶은 대상 웹 사이트에 접속한다. 3) 프록시 설정 인터넷 익스플로러를 실행한 후 프록시 설정을 한다. 프록시 설정은 브라우저의 ‘도구 → 인터넷 옵션 → 연결 → LAN 설정’에서 한다. 4) 프록시 동작 확인 [그림 3-7] Burp Suite에서 정상적으로 프록시 기능이 동작하는 화면

02. 일반적인 웹 해킹의 절차 브라우저의 확장 기능을 통한 웹 사이트 탐색과 분석 브라우저에 있는 확장 기능을 이용하여 방문하는 사이트를 보는 동시에 사이트 구조를 파악할 수 있음 인터넷 익스플로러의 도구 메뉴에는 웹 애플리케이션 개발자가 웹 사이트의 구조를 쉽게 파악할 수 있도록 하 기 위해 만들어 놓은 ‘개발자 도구’라는 항목이 있음 공격자의 입장에서는 이 도구를 이용하면 웹 사이트에 있는 메뉴가 HTML 소스 어디에 위치하는지 구조를 보다 쉽게 파악할 수 있음 [그림 3-10] 인터넷 익스플로러의 개발자 도구를 통해 웹 사이트를 분석하는 화면

02. 일반적인 웹 해킹의 절차 검색 엔진을 이용한 정보 수집 해킹을 할 때 가장 쉽게 많은 정보를 수집할 수 있는 방법은 바로 검색 엔진을 이용하는 것 구글 검색 사이트는 다양한 고급 검색 기능을 제공 검색 인수 설명 site: 특정 도메인으로 지정한 사이트에서 검색하려는 문자열이 포함된 사이트를 찾음 filetype: 특정 파일 타입에 한해서 검색하려는 문자가 들어 있는 사이트를 찾음 link: 링크에 검색하려는 문자가 들어 있는 사이트를 찾음 cache: 특정 검색어에 해당하는 캐시된 페이지를 보여줌 intitle: 페이지의 제목에 검색하려는 문자가 들어 있는 사이트를 찾음 inurl: 페이지의 URL에 검색하려는 문자가 들어 있는 사이트를 찾음

02. 일반적인 웹 해킹의 절차 각 검색 인수 사용 방법 site: co.kr admin filetype: 특정 파일 타입을 검색할 때 사용하는 기능 다음 예시는 확장자가 txt이고 ‘관리자’와 ‘패스워드’라는 문자열이 들어간 파일을 검색 link: 특정 링크가 포함되어 있는 페이지를 검색할 때 사용하는 기능 다음 예시는 korea.ac.kr 주소의 링크를 가지고 있는 웹 페이지를 검색 cache: 구글은 특정 페이지를 백업해 두는데, 이 정보를 보고자 할 때 사용 다음 예시는 korea.ac.kr 과 관련되어 구글에 저장되어 있는 페이지를 검색 site: co.kr admin filetype: txt 관리자 패스워드 link: korea.ac.kr cache: korea.ac.kr

[그림 3-12] 미국 백악관 홈페이지의 robots.txt 파일 02. 일반적인 웹 해킹의 절차 검색 엔진의 검색을 피하는 방법 웹 서버의 홈 디렉터리에 robots.txt 파일을 만들어 검색할 수 없게 만들 수 있음 robots.txt 파일은 User-agent와 Disallow로 구성됨. 구글 검색 엔진이 검색하는 것을 막기 위해서는 User-agent를 다음과 같이 사용 예를 들어, dbconn.ini 파일을 검색하지 못하게 하려면 Disallow에 다음과 같이 입력 User-agent: googlebot Disallow: dbconn.ini [그림 3-12] 미국 백악관 홈페이지의 robots.txt 파일

[그림 3-13] Wikto를 다운로드 할 수 있는 사이트 02. 일반적인 웹 해킹의 절차 스캐닝 툴을 이용한 정보 수집 웹 스캐닝(Web Scanning)은 웹 사이트를 조사하는 방법 웹 스캐닝을 이용하면 웹 서버의 종류와 버전, 디렉터리 정보나 중요 파일 정보가 존재하는지 여부, 웹 서버 자 체의 취약점 등을 검사할 수 있음 실습 3-2: 웹 스캐닝을 통한 정보 수집 1) Wikto 스캐너 다운로드 공개 웹 스캐너 도구인 Wikto는 다양한 플랫폼에서 동작하며 수천 개의 웹 취약점을 스캐닝할 수 있음 아래 사이트에서 최신 버전을 다운로드 받아 설치 http://research.sensepost.com/tools/web/wikto [그림 3-13] Wikto를 다운로드 할 수 있는 사이트

02. 일반적인 웹 해킹의 절차 실습 3-2: 웹 스캐닝을 통한 정보 수집 2) Wikto 스캐너 실행 ‘시작 > 모든 프로그램 > SensePost > Wikto’에서 Wikto 선택 또는 ‘C:\Program Files\SensePost\Wikto’ 폴더에 들어가서 Wikto 파일 실행 Wikto 실행 후 왼쪽에 있는 ‘Load Nikto Database’를 클릭하여 데이터베이스 파일을 불러옴 [그림 3-16] 데이터베이스 로드 화면

02. 일반적인 웹 해킹의 절차 웹 스캐너의 원리 대상 시스템에 HTTP 요청(Request)을 보낸 후 이에 대한 응답 코드(Response Code)를 받으면, 이 코드를 보고 요청한 페이지가 있는지 또 서버의 어느 부분이 취약한지 등을 알 수 있음 웹 스캐너는 이와 같은 공격 코드를 수천 개에서 수만 개까지 가지고 있음 [그림 3-17] 웹 스캐닝 도구의 원리 [그림 3-18] 취약점 검색을 위한 HTTP Request 내용

03. OWASP Top 10 취약점 OWASP Top 10의 탄생 오픈 프로젝트인 OWASP는 2001년 12월 Mark Curphey와 Dennis Groves 등에 의해 처음 만들어졌음 2004년에 웹 애플리케이션상의 10대 주요 취약점(OWASP Top 10)을 발표 OWASP는 Local Chapter라는 지부를 통해 전 세계적으로 정보를 공유함 우리나라에는 2010년 11월 설립 위원회 구성, 2011년 1월 OWASP Korea Chapter 이사회 조직 2004년부터 2010년까지 발표된 OWASP Top 10의 비교 분석을 통해 웹 애플리케이션의 주요 위협이 어떻게 변 화되고 있는지 살펴볼 수 있음 구분 2004년 2007년 2010년 A1 입력값 검증 부재 크로스 사이트 스크립팅(XSS) 인젝션 취약점 A2 취약한 접근 통제 A3 취약한 인증 및 세션 관리 악성 파일 실행 A4 불안전한 직접 객체 참조 안전하지 않은 직접 객체 참조 A5 버퍼 오버플로우 크로스 사이트 요청 변조(CRSF) A6 삽입 취약점 정보유출과 부적절한 에러 처리 보안상 잘못된 구성 A7 부적절한 에러 처리 안전하지 않은 암호 저장 A8 취약한 정보 저장 방식 불안전한 암호화 통신 URL 접근 제한 실패 A9 DoS 불안전한 통신 불충분한 전송 계층 보호 A10 부적절한 환경 설정 URL 접근 통제 실패 검증되지 않은 리다이렉트와 포워드

[그림 3-19] 웹 애플리케이션의 취약점과 비즈니스에 미치는 영향 03. OWASP Top 10 취약점 웹 애플리케이션의 취약점과 비즈니스에 미치는 영향 ‘OWASP Top 10 - 2010년’은 이전 버전에는 없었던 위험 평가 내용을 포함하고 있음. 그래서 2007년 버전까지 는 제목이 열 개의 주요 취약점이었는데, 2010년 버전부터는 ‘열 가지 가장 중요한 웹 애플리케이션 보안 위험 들’이라고 언급하고 있음. [그림 3-19] 웹 애플리케이션의 취약점과 비즈니스에 미치는 영향

03. OWASP Top 10 취약점 ‘OWASP Top 10 - 2010년’의 각 요소별 평가 구분 공격 경로 보안 취약점 기술적 영향 A1 인젝션 취약점 공격 용이도 : 쉬움 알려진 정도 : 보통 탐지 용이도 : 보통 영향 : 심각 A2 크로스 사이트 스크립팅(XSS) 알려진 정도 : 매우 널리 알려짐 탐지 용이도 : 쉬움 영향 : 보통 A3 취약한 인증 및 세션 관리 공격 용이도 : 보통 A4 안전하지 않은 직접 객체 참조 A5 크로스 사이트 요청 변조(CSRF) 알려진 정도 : 널리 알려짐 A6 보안상 잘못된 구성 A7 안전하지 않은 암호 저장 공격 용이도 : 어려움 알려진 정도 : 일반적이지 않음 탐지 용이도 : 어려움 A8 URL 접근 제한 실패 A9 불충분한 전송 계층 보호 A10 검증되지 않은 리다이렉트와 포워드

03. OWASP Top 10 취약점 OWASP Top 10 – 2010 주요 보안 위험 A1. 인젝션 취약점 웹 애플리케이션에서 내부 데이터베이스와 연동하여 결과를 웹 애플리케이션에 보내주는 부분에 주로 발생 로그인 부분이나 우편번호 검색과 같이 사용자가 웹을 통해 입력한 값을 데이터베이스에 있는 값과 비교해서 결과를 웹 애플리케이션에 보낼 때, 공격자는 공격용 데이터를 입력하여 공격자가 의도한 질의문을 만들 수 있음 A2. 크로스 사이트 스크립팅(XSS) 웹 애플리케이션과 내부 시스템을 직접 공격하는 것이 아닌, 해당 웹 사이트에 방문하는 다른 사용자를 공격하는 기법 공격자가 해당 웹 사이트 방문자의 쿠키나 세션을 추출할 수 있고, 웹 사이트에 방문하는 사용자를 악성 코드가 포함되어 있는 사이트로 리다이렉션 시킬 수도 있음 A3. 취약한 인증 및 세션 관리 웹 애플리케이션이 보안에 대한 설정을 잘못했을 때 발생 대표적인 설계 결함의 예로는 주로 사용자 아이디와 패스워드를 인증하는 부분이나 관리자 페이지와 같은 특정 사용자만 접근할 수 있는 페이지에 인증 기능을 누락한 경우를 들 수 있음

03. OWASP Top 10 취약점 OWASP Top 10 – 2010 주요 보안 위험 A4. 안전하지 않은 직접 객체 참조 취약한 인증과 유사하지만, 주로 특정 객체를 직접 참조할 때 발생 예를 들어 사용자 계정 정보를 열람하는 URL에 취약점이 존재할 때 공격자는 다음과 같이 해당 URL 뒤에 다른 사용자의 아이디를 입력함으로써 그 사용자의 계정 정보를 볼 수 있음 http://example.com/app/accountInfo?acct=notmyacct A5. 크로스 사이트 요청 변조(CSRF) 요청 변조(Request Forgery)는 공격자가 입력한 스크립트를 웹 사이트 방문자가 실행함으로써 해당 방문자 의 권한으로 스크립트가 실행되도록 만드는 방식 예를 들어 개인정보 수정, 회원 탈퇴 등 임의의 행동을 실행하도록 만들 수 있음 A6. 보안상 잘못된 구성 주로 애플리케이션을 설치하면서 생기는 디폴트 페이지들을 삭제하지 않고 방치한 경우나 디렉터리 리스팅과 같이 애플리케이션 설정의 오류 또는 최신 보안 패치를 업데이트하지 않은 경우에 발생

03. OWASP Top 10 취약점 OWASP Top 10 – 2010 주요 보안 위험 A7. 안전하지 않은 암호 저장 웹 애플리케이션이 사용자의 패스워드나 주민등록번호, 신용카드 번호 등의 민감한 개인 정보에 쉽게 풀 수 없는 강력한 암호화를 적용하지 않는 경우가 많음 2012년에 발생한 S사의 가입자 정보 유출 사고 때도 일각에서는 패스워드를 암호화할 때 사용한 방법이 단순 암호화 방식이었다고 주장하는 사람들이 있었음 A8. URL 접근 제한 실패 웹 애플리케이션은 보호된 페이지에 접근이 시도될 때마다 매번 유사한 접근 통제 확인을 해야 함 A9. 불충분한 전송 계층 보호 비밀번호 또는 민감한 개인 정보를 입력 받는 경우 해당 페이지를 SSL로 암호화하여 전송하도록 해야 함 A10. 검증되지 않은 리다이렉트와 포워드 리다이렉트나 포워드를 할 때 신뢰되지 않는 데이터를 사용하거나 해당 사이트에 대한 적절한 검증이 없으면, 공격자가 피해자를 피싱 사이트나 악성 코드가 포함된 사이트로 리다이렉트할 수 있고 권한 없는 페이지로 포워드를 바꿀 수 있음

04. WebGoat 설치 WebGoat 이란? 실습 3-3: WebGoat 설치하기 OWASP에서 개발 웹 애플리케이션에서 자주 발생하는 취약점을 쉽게 테스트할 수 있도록 만든 환경 다양한 웹 애플리케이션 취약점을 가지고 있는 J2EE 환경으로 구성되어 있으며, OWASP Top 10에서 언급한 주 요 취약점을 간편하게 실습해 볼 수 있음 WebGoat의 가장 큰 목표는 웹 애플리케이션 보안을 가르치거나 배우기에 적합한 상호작용 환경을 만드는 것 지금도 개발자들에 의해 계속 업그레이드 되고 있음 실습 3-3: WebGoat 설치하기 1) WebGoat 사이트 접속 2) WebGoat 다운로드 윈도우 운영체제 환경의 실습 파일인 WebGoat-5.4-OWASP_Standard_Win32.zip 다운로드 해당 파일에는 JRE와 웹 서버인 Tomcat이 포함되어 있음 https://www.owasp.org/index.php/Cate gory:OWASP_WebGoat_Project

[그림 3-25] 압축을 푼 WebGoat 실행 파일 [그림 3-26] WebGoat 실행 화면(Tomcat 웹 서버 구동) 다운로드가 완료되면 압축 프로그램을 이용해서 압축 해제 4) WebGoat 실행 webgoat.bat 파일을 더블 클릭하여 실행하면 도스 창이 열리면서 Tomcat 웹 서버가 구동되었음을 보여줌 [그림 3-25] 압축을 푼 WebGoat 실행 파일 [그림 3-26] WebGoat 실행 화면(Tomcat 웹 서버 구동)

04. WebGoat 설치 실습 3-3: WebGoat 설치하기 5) 브라우저를 통해 WebGoat에 접속 브라우저를 열고 주소창에 http://localhost/WebGoat/attack 입력 사용자의 아이디와 패스워드를 묻는 HTTP 인증창에 아이디/패스워드 모두 webgoat 입력 Start WebGoat 버튼을 누르면 WebGoat을 이용하여 실습할 수 있는 다양한 경우를 볼 수 있음 [그림 3-27] WebGoat 사이트 접속 화면 [그림 3-28] WebGoat 실습 화면

감사합니다.