본문 바로가기
공부/웹 해킹&보안 완벽 가이드

1장. 웹 애플리케이션 보안

by 주냥 2020. 2. 15.

A. 초창기

정적인 문서를 담는 정보 저장소

서버-->브라우저 일방적 정보 제공

동일한 방식의 정보제공 è 사용자인증 필요x

웹 서버상 취약점을 이용한 공격이 대다수 BUT 정보를 훔치기 보다는 사이트나 서버 장치를

이용하기 위한 공격 (불법 파일 공유 사이트 등)

 

B. 현재

애플리케이션 형태
서버와 브라우저간 쌍방향 정보흐름 à 동적인 정보 생성
사용자마다 제공되는 정보가 다를 수 있음
자체개발로 인한 취약점과 개인적이고 민감한 정보를 포함하고 있다는 점에서 보안위협 존재

 

기능

a.다양한 기능을 사용할 수 있음
ex)
쇼핑,사교,뱅킹,웹검색,경매,도박,웹로그,웹메일,대화형 정보 등등..

 

b.조직 내 핵심 기업 업무를 지원 (ex.HR애플리케이션,관리자인프라,협력소프트웨어,전사적자원관리SW,오피스 애플리케이션 등등)

 

c.내부에서 외부 서비스로의 전환
--> 이는 잠재적 공격자에게 기업의 정보가 공개되는 보안위협을 포함함

 

혜택

상업적 목적에 부합하는 기술적 요소가 웹 애플리케이션의 성장의 원인임
--> HTTP의 비접속기반 특성

 

a. 통신장애에 강함,모든 사용자들의 접속 유지를 위해 서버의 통신 포트를 열어두지 않아도 됨, 다른 프로토콜에 프록시 방식,터널링이 되어 사용할 수 있음

b. 사용자 인터페이스 변경의 효율성
--> 수정 시, 별도의 소프트웨어 배포할 필요 없이 변경 내용을 서버에 한번만 적용하면 됨

c. 실용적이고 다양한 사용자 인터페이스 구성 가능
--> 친숙하고 숙달된 기능이므로 사용자가 따로 배울 필요 없음

d. 개발을 위한 핵심기술과 개발언어가 상대적으로 간단
--> 다양한 플랫폼과 개발도구,오픈소스도 제공되므로 초보자도 개발 가능

 

신기술이 발전하며 새로운 보안 취약점을 보임

가장 위험한 공격은 중요한 데이터를 빼내는 것백엔드 시스템에 제한없이 접근하는 것

이런 공격은 감지하기 어려운 기술을 사용하므로, 개발자들은 특정 사용자나 서비스를 계속 체크하면서 공격자를 막을 수 있도록 해야 함

 

이 사이트는 안전합니다.”

--> SSLPCI 표시가 있는 사이트가 과연 안전한가? à no!

 

일반적으로 알려진 취약점과 이를 보유한 애플리케이션의 비율

 

a. 인증실패(62%): 로그인 매커니즘 상 취약점. 추측가능한 비밀번호 허용, 무차별대입공격, 인증우회 허용 등

b. 접근 통제 실패(71%): 민감한 데이터,기능에 대한 불법적 사용자의 접근 통제 실패. 공격자가 서버 내 다른 사용자의 데이터 열람, 서버관리자용 업무 수행 가능

c. SQL인젝션(32%):공격자가 조작된 입력 값을 제공해  데이터베이스 등에서 원하는 명령을 수행하게 함

d. 크로스사이트 스크립팅(94%): 공격자가 다른 사용자 도용, 다른 사용자들에게 악의적 공격 수행

e. 정보 누출(78%): 애플리케이션 내부 이상으로 민감한 정보를 누출하여 공격자의 정보 수집을 도움

f. 크로스사이트 요청 위조(92%): 사용자가 악의적으로 변조된 웹사이트를 방문하여 자신도 모르는 사이에 자신의 권한으로 의도치 않은 행동을 하게 됨.

 

SSL은 공격자가 다른 사용자가 통신 내용을 보거나 변조하지 못하게 할 수는 있지만, 서버나 클라이언트를 통제하여 직접 공격하려 하는 것을 막지 못함.
위의 취약점들 중 한가지도 방어할 수 없음

댓글