본문 바로가기

Security & IT terms113

[Day 88] Database Sharding (데이터베이스 샤딩) Database sharding 하나의 거대한 데이터베이스 테이블을 수평 분할(Horizontal Partitioning)하여 여러 개의 작은 단위로 나눈 후, 물리적으로 다른 위치에 분산하여 저장·관리하는 기술 수평 분할된 1개의 작은 테이블을 샤드(Shard)라고 하는데, 이 샤드를 여러 분산 서버에 분산시킴 Sharding의 장점 처리 속도 향상 : 초당 트랜잭션 수를 크게 늘려 DB쿼리 응답시간 개선 비용 절감 : 원래 데이터베이스는 고사양의 컴퓨터가 필요한데, 데이터 샤드는 여러 서버에 분산할 수 있어서 유지비용이 저렴하고 HW,SW 요구사항 제한이 거의 없음 보안 강화 : 사용자별로 특정 데이터 영역에 대해 좀 더 세분화된 접근통제 가능 Sharding의 문제점 가용성 : 특정 지점에서 샤드가.. 2020. 11. 6.
[Day 34] Race Condition Attack Race Condition 둘 이상의 프로세스나 스레드가 공유 자원에 동시 접근할 때 접근하는 순서에 따라 비정상적인(의도하지 않은) 결과가 발생하는 조건/상황을 의미 Race Condition Attack 실행되는 프로세스가 임시 파일을 만드는 경우, 악의적인 프로그램을 통해 그 프로세스의 실행 중에 끼여들어 임시 파일을 타켓 파일로 연결(심볼릭 링크)하여 악의적인 행위를 하는 것 만약 프로세스가 setuid 설정이 되어 root권한으로 실행된다면 권한 상승을 통해 중요 자원(파일)에 접근 가능 Race Condition Attack 대응 방안 가능하면 임시 파일을 만들지 말고 메모리상에 자료구조를 만들어서 거기에 임시 저장하여 읽고 쓰고 하는 방식으로 해야 함 파일 생성 시 이미 동일한 파일이 있다면.. 2020. 9. 13.
[Day 26] DML, DDL, DCL, TCL DML. DDL, DCL, TCL 구분 명령어 설명 DML(Data Manupulation Language) 데이터 조작어 SELECT DB에 보관된 데이터 조회를 위한 명령어 INSERT DELETE UPDATE DB Table에 보관된 데이터를 변경(삽입,삭제,수정)하기 위한 명령어 DDL(Data Definition Language) 데이터 정의어 CREATE ALTER DROP RENAME DB Table과 같은 데이터 구조를 정의(생성,변경,삭제,이름변경)하는 명령어 DCL(Data Control Language) 데이터 제어어 GRANT REVOKE DB에 대한 접근/사용 권한을 부여(GRANT)하거나 회수(REVOKE)하기 위한 명령어 TCL(Transaction Control Languag.. 2020. 9. 5.
[Day 25] SAC(Server Access Control or System Access Control) SAC(Server Access Control or System Access Control) 서버(또는 시스템)에 대한 접근통제를 제공하는 솔루션 보안 정책을 중앙에서 강제로 적용할 수 있고, 시스템 작업로그 보관으로 추적성 강화 SAC 주요 기능 사용자 인증 강화 : 2FA, SSO/AD 연동 지원 접근권한 통제 : 접속지 IP제한, 사용자별 접속 시스템 권한 설정. 서버 계정 패스워드를 알고 있어도 SAC에서 인증된 사용자가 아니면 접속 불가. 명령어 제한 : White list 또는 Black list 방식으로 입력 가능한 명령어 제한 작업로그 기록/감사 : 사용자가 시스템에 접속하여 작업한 내역 저장(명령어 리스트, 이벤트 로그 등) 실시간 이벤트 모니터링 : 불법적인 행위 시 강제로 세션 차단 .. 2020. 9. 4.