일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- TypeScript
- AI
- vuetify
- JavaScript
- nginx
- leetcode
- scss
- npm
- Clone
- condition
- machine learning
- 앙상블
- Python
- generic
- dotenv
- type
- var
- C#
- VUE
- C++
- property
- git
- vue.js
- bash
- BOJ
- webpack
- docker
- loop
- security
- 보안
- Today
- Total
목록보안 (4)
ice rabbit programming
(아이패드에 필기가 있었는데, 아이패드가 충전하다가 망가지는 바람에 소실되어, 이후 글은 따로 저장해둔 요약본을 참고합니다.) 이전 글에 이어서 안전하지 않은 코딩 스타일을 이어서 정리한다. 불필요한 Method 지원의 취약점 웹 서버에 불필요한 HTTP 메소드가 허용되어 있을 경우, 악의적인 사용자가 이를 이용해 웹 서버를 변조하거나 시스템 권한을 획득할 수 있다. 모든 메소드를 허용하지 않고, 사용하는 메소드만 허용하는 것이 좋다. 특히, GET을 이용한 조회 외에는 데이터를 추가/변경/삭제할 수 있다. Null 포인터 역참조의 취약점 Null 포인터 역참조는 는 가정을 위반했을 경우 발생한다. 공격자가 의도적으로 Null 포인터 역참조를 실행하면, 그 때 발생하는 예외를 이용하여 공격에 이용될 수 ..
(아이패드에 필기가 있었는데, 아이패드가 충전하다가 망가지는 바람에 소실되어, 이후 글은 따로 저장해둔 요약본을 참고합니다.) 중요 정보 중요 정보의 기준을 먼저 정해야 한다. 중요 정보는 우선 개인 정보와 같이 법적으로 강제되는 항목들을 반드시 포함해야 하고, 보안등급 분석을 통해 중요 정보를 구분하여 해당 정보의 관리 정책을 수립해야 한다. 네트워크를 통한 중요 정보 노출 - 중요 정보는 서버를 떠나지 않도록 해야 한다. - 부득이하게 전송해야 하는 경우, 반드시 암호화가 필요하다. 중요 정보 암호화 중요 정보를 암호화하기 위해 정책을 수립해두어야 하고, 암호화 구현 시 안전한 키 관리를 해야 한다. 또한 관리되는 데이터에 따라 적절한 암호화 모듈을 적용해야 하고, 각 알고리즘에서 사용되는 암호키의 ..
(아이패드에 필기가 있었는데, 아이패드가 충전하다가 망가지는 바람에 소실되어, 이후 글은 따로 저장해둔 요약본을 참고합니다.) 파라미터 변조의 개념과 취약점 파라미터는 클라이언트에서 서버로 작업을 요청할 때 이라는 것을 정의하기 위해 전달하는 변수 값 이미 정해진 값이거나 입력된 값 서버 측에서 사용자가 전송하는 파라미터 값에 대한 검증이 없으면, 허가되지 않은 작업이 수행될 수 있음 이전 글에서 다루었던 것들을 비롯하여, 실제 코드가 실행될 때 파라미터를 대입하여 실행하게 되는데, 이 때 잘못된 정보를 가진 파라미터로 실행되면 위험할 수 있다. 타입 체크를 하거나, 위험한 것은 정규식으로 걸러내는 등의 조치를 취해야 한다. 특히, 서버와 클라이언트를 같이 개발할 때, 클라이언트(프론트엔드) 단에서 접근..
쿠키 쿠키(Cookie)는 HTTP 통신 시에 사용자 정보 유지를 위해 헤더에 붙여 전송하는 정보이다. 즉, 서버에서 필요로하는 클라이언트 정보를 헤더에 붙여서 전달하는 것이다. 세션 관리를 위해서 token을 저장하거나 임시 데이터 관리 등에 사용된다. 중요 정보를 가진 쿠키는 반드시 암호화된 데이터 통신에서만 전달되도록 해야 한다. 세션 쿠키 : 서버를 이용하는 동안 사용자 정보를 유지한다. 자바스크립트에서 액세스할 수 없도록 쿠키의 속성을 설정해서 사용해야 한다. 영구(영속성) 쿠키 : 하드 디스크에 저장되는 쿠키로, 재방문시 사용자 정보를 기억하는 데에 사용된다. 중요 정보를 가지지 않도록 관리해야 한다. 쿠키를 주고 받는 메커니즘은 다음과 같다. 서버->클라이언트 : 쿠키 객체 생성(key:va..