본문 바로가기

CS/Secure9

[Secure] 침입탐지 시스템 IDS IDS (Intrusion Detection System) "침입탐지시스템" * 방화벽이 내부망 보안을 수행하는데 있어 그 적용의 한계가 드러나 이를 보완 해줄 시스템* 침입의 패턴 데이터베이스와 Expert System을 사용해 네트워크나 시스템의 사용을 실시간 모니터링 하고 침입을 탐지하는 역할* IDS는 허가되지 않은 사용자로부터 접속, 정보조작, 오용, 남용 등 컴퓨터 시스템 또는 네트워크 상에서 시도됐거나 진행중인 불법 적인 예방에 실패한 경우 취할 수 있는 방법으로 의심스러운 행위를 감시하여 가능한 침입자를 조기에 발견하고 실시간 처리를 목적으로 하는 시스템* IDS는 여러개의 컴포넌트들로 구성된다.센서는 보안 이벤트를 발생시키며, 콘솔은 이벤트를 모니터하고 센서를 제어하거나 경계시키며(ale.. 2017. 7. 3.
[Clean Coding] JUnit 프로젝트의 Build Path에서 JUnit Library를 추가해준다. 그후 Junit Test Case java파일을 하나 만들어준다.이제 ArticleController를 테스트해보자 저음 java 파일을 만들면 아래와 같이 생성된다. 테스트는 test 어노테이션이 붙은 단위만 테스트가 실행된다. 안된다면 pom.xml에서 spring-test 를 추가해준다. 123456789101112131415161718192021222324252627package com.ktds.jgbaek.article.web; import static org.junit.Assert.*; import org.junit.Test;import org.junit.runner.RunWith;import org.springframe.. 2016. 4. 29.
[Clean Coding] 주의깊은 코드 SOLID jUnit : 단위 테스트 툴 비야네 스트롭스토룹 (C++ 창시자)- 논리가 간단해야 하며, 효율적이어야 한다.- 의존성을 최대한 줄여야 한다.- 깨끗한 코드는 한 가지 만을 제대로 한다. 그래디 부치- 깨끗한 코드는 단순하고 직접적이다.- 잘 쓴 문장처럼 잘 읽힌다. (가독성)- 설계자의 의도를 그대로 나타낸다.- 명쾌한 추상화와 단순한 제어문으로 가득하다. 데이브 토마스- 깨끗한 코드는 작성자가 아닌 사람도 읽고 고치기 쉽다.- 단위 테스트와 인수테스트가 존재한다.- 의미있는 이름을 사용한다. 마이클 페더스- 깨끗한 코드는 주의깊게 짰다는 느낌을 준다.- 고칠 부분이 없다. [ SOLID ] SRP : Single Responsibility Principle하나의 클래스는 하나의 기능만 수행해야 한다.. 2016. 4. 29.
[Secure Coding] 비밀번호 암호화 하기 SHA-256 와 SHA-512 와 RSA방식을 가장 많이 쓴다.MDS는 나온지 너무 오래되서 취약하다. 뽐뿌가 이거쓰다가 털렸다. SHA-256을 실습해보자 1. USERS 테이블에 SALT 컬럼을 추가해보자2. 회원 비밀번호를 SALT를 사용한 SHA-256으로 암호화 하자SHA-256은 64 자리 문자열이 출력된다. sha256은 hash 함수의 일종이다hash 함수라는게 뭐냐면 다 알고 있겠지만 간단히 설명해보겠다 y = x + 2 이런 함수는 y를 알면 x도 알 수 있다하지만 y = hash(x) 이런 해쉬 함수는 y를 알아도 x를 알 수 없는게 특징이다그리고 모든 x값에 대해 각기 다른 y값을 내뱉는 특징 때문에 x가 원본임을 증명하는 일종의 시그니쳐로도 사용할 수 있다(정확하게 말하자면 ha.. 2016. 4. 28.