정보보안 지식(4)
-
개발 보안 공부 advanced
이전에는 보안처리기법이나 함수등을 많이 썼는데 요즘 대세는 무엇일까를 좀 찾아보게 되었다. 유효성을 검증하는 로직같은 걸 하면 되는데, 필터링이나, 싱글쿼터 추가 이런 함수를 섞어서 쓰기도하지만..이 또한 말이 달라서 무엇지 좋은지를 찾아보게되었다. 1. SQL Injection SQL prepare statement 2. XXS html 인코딩 3. CSRF GET Method 가 아닌 POST Method사용CSRF 보호 기능 사용 XSS 기법 참 4. 쿠키 Secure, HttpOnly 설정추측할 수 없는 알고리즘 적용(SEED, 3DES, AES) 등Server Side Session 방식 사용 권장 5. 파일업로드 화이트리스트 기반 필터링 업로드 파일 실행권한 제거 및 파일명 Hash 값등의 변..
2024.05.10 -
Fuzzing
Fuzzing : 프로그램을 소프트웨어 테스트 기법으로 프 로그램에 대해 무수한 여러 데이터를 입력하여 프로 그램의 충돌이 발생하는 프로그램 취약점의 위치를 찾아내는 기법 1988년 barton P. Miller에 의해 처음 시작된 기법. Input(test case, seed) :퍼징 대상 프로그램에게 주는 입력 Corpus : Fuzzing 에 사용되는 Input 의 집합 Corpus Pruning : corpus를 정리하는 것 퍼징의 기본단계 : 1. Input 생성 2. 프로그램 실행 3. 결과 관찰 fuzzing의 생각해볼 사항 어떻게 하면 좋은 input을 만들 수 있을까? 어떻게 하면 빠르게 실행할 수 있을까? 어떻게 하면 버그를 놓치지 않을까? 퍼징의 종류 1. Dumb fuzzing : ..
2023.05.20 -
백도어?
backdoor는 자칫 악용 수법으로 사용될 수 있기 때문에 자세한 과정은 생략하고 하는 줄거리, 뉘앙스 정도만 설명하고자한다. linux를 사용해보았다면 setuid나 chmod 와 같은 명령어를 한두번쯤 보았을 것이다. 이것이 바로 권한을 수정하는 명령어 들이다. 예를 들어 sudo chmod 777 이런 식으로 사용 했던 경험이 종종 있을 것이다. ls -al(해당 디렉토리 내 파일의 정보를 보는 명령어) -rw-r--r--- 인 것들의 권한을 777으로 수정하느 것과 같은 뜻이다. 권한을 수정하는 것인데 앞에서 부터 user,group,제 3자를 뜻하며 각각의 숫자는 쓰기읽기실행 권한의 여부이다.(2진수로 따지면 111 = 4+2+1 = 7, 즉 쓰기 읽기 실행 권한 모두 허용하겠다 라는 ..
2023.03.09 -
보안목표, 소프트웨어 프로젝트 목표
보안 목표 1. 예방 2. 추적가능성 및 감사 : 공격을 당한후 누군가, 무엇을 하였는지 추적하는 것과 책임에 대한 시스템을 만들어 잠재적 공격자가 될 수 사람들을 단념시킨다. 3. 감시 : 실시간 감시 4. 사생활 및 기밀성 5. multi level 보안 : 1급, 2급, 3급 등으로 정보 등급을 나누어 분류함. 6. 익명성 7. 인증 : 사용자를 확인한다. (+ 인가랑은 좀 다름, 인가는 인증 후 권한을 부여하는 것.) 8. 무결성 : 데이터의 무결성, 데이터의 변조가 엇는 것, staying the same 소프트웨어 프로젝트 목표 1. 기능성 2. 사용용이성 3. 효율성 4. 출시시기 5. 단순성 개발보안에 있어 양자를 충족시키도록 시스템을 설계하면 좋다.
2023.02.17