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

한빛미디어

독자리뷰

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

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 역할을 하는 저장 프로시저를 이용하면 대부분 방지가 가능하다

 

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


닫기

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