메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

웹 개발할때 불안한(?) 느낌을 받으면 이 책을 보라

byc3***

|

2021-03-21

웹 애플리케이션 보안

웹 애플리케이션 보안의 정찰, 공격, 방어를 모두 다루는 실용서. 웹 애플리케이션에 침투하기 위해 해커가 실제로 사용하는 여러 기법을 소개하고 안전을 확보하는 법을 배운다. 각 장은 OWASP 취약점 중에서도 위험성이 높은 주제의 공격과 방어 양면을 다룬다.

  • 저자 : 앤드루 호프먼
  • 번역 : 최용
  • 출간 : 2021-02-19

[나의 한줄 추천사]

웹 개발할때 불안한(?) 느낌을 받으면 이 책을 보라

​

[책을 구매한 이유]

웹 어플리케이션 프론트엔드 백엔드 둘다 개발해야하는 경우 두쪽다 보안적으로 취약한 부분을 시큐어 코딩으로 해야하는데 이때 보면 정말 좋은 책이다.

​

[내가 찾고자 했던 질문과 대답들]

1. 보안 취약점을 어떻게 찾을까?

    - 취약점을 찾기 위해서는 "현대 웹 어플리케이션 구조" 을 먼저 알아야 한다. 아래와 같은 구조를 갖는다.

      : REST API, JSON, 자바스크립트, SPA Framework (React, Vue, AngularJS), 인증 및 권한 부여시스템,

       하나 이상의 웹서버(주로 linux 이용), 하나 이상의 웹서버 패키지(ExpressJS, Apache, Nginx), 하나 이상의 

       데이터베이스(MySQL, MongoDB), 클라이언트의 로컬 데이터 스토어(Cookies, 웹 스토리지, IndexedDB)

​

2.어떻게 공격할까?

   - XSS (Cross Site Scripting) : 사이트 간 스크립팅.

     : 게시판이나 웹 메일 등에 자바스크립트 같은 스크립트 코드를 삽입해 개발자가 고려하지 않은 기능이 작동하게 하는 치명적인 공격이다. 

      주료 여러 사용자가 보게 되는 전자게시판에 악성 스크립트가 담긴 글을 올리는 형태로 이루어진다.

   - CSRF (Cross Site Request Forgery) : 사이트 간 요청 위조

    : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격을 말한다. 

      XSS 을 이용한 공격이 사용자가 특정 웹사이트를 신용하는 점을 노린거라면, CSRF는 특정 웹사이트가 사용자

      의 웹브라우저를 신용하는 상태를 노린 것이다.

   - SQL Injection : SQL 삽입

     : 코드 인젝션의 한 기법으로 클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격방식

      을 말한다. 주로 사용자가 입력한 데이터를 제대로 필러팅, 이스케이핑하지 못했을 경우에 발생한다.

​

3.어떻게 방어할까?

   - 안전한 어플리케이션 아키텍처

     : SSL / TLS 네트워크 중간에서 악의적인 해킹을 피하기 위해서 모든 데이터는 전송중에 암호화 시킨다.

       이중인증 (패스워드 + OTP) 적용.

​

   - 보안코드 리뷰

     :전체 리뷰하는 부분은 불가능한 방법이라, 고위험 영역을 먼저 실시하여 리스크를 최소화하는 방법으로

      우선순위가 부여된 상태의 코드리뷰가 이뤄지면 된다.

​

   - XSS 공격 방어

     : Content-Security-Policy meta 태그에 추가함으로써 공격 회피가 가능하다.

​

   - CSRF 공격 방어

     :Origin 헤더와 Referer 헤더를 검증한다.CSRF 토큰을 이용해서 강력한 방지도 가능하다.

​

   - SQL Injection 공격 방어

     : prepared statement 역할을 하는 저장 프로시저를 이용하면 대부분 방지가 가능하다. 

 

       파라미터에 인코딩 이스케이프를 활용하여 사전에 막는 방법도 있다.


닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?