일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오답노트
- 러시아
- security
- Java
- 리마2급2차
- CVE
- tcp
- Linux
- db
- SSO
- 네트워크
- 클라우드
- 네트워크관리사
- 트랜잭션
- 제로 트러스트
- 보안이슈
- 보안
- 악성코드
- 오늘의 오답노트
- 리눅스
- 개발자
- AWS
- Cloud
- 리눅스 마스터
- 프로토콜
- 네관사2급
- 스프링부트
- 깃허브
- 스프링
- 기업간의 협업 중요성
- Today
- Total
일단 진행시켜
성능과 보안: 상충되는 관계 속 균형 본문
1. The Relationship Between Performance and Security
https://dzone.com/articles/the-relationship-between-performance-and-security
[요약정리]
과거에는 로컬 데스크톱 사용을 위한 소프트웨어가 많았다. 반면에 지금은 웹 브라우저를 통해 웹 기반 소프트웨어 서비스에 액세스 하는 방식을 많이 사용한다. 때문에 우리는 타인의 서버에 데이터를 보관하게 되었다.
방대한 양의 고객 데이터를 처리하는 대규모 고가용성 웹 기반 소프트웨어를 사용하는 지금, 성능과 보안을 모두 다 고려해야 하게 되었다.
성능과 보안
성능과 보안에 집중하기 전에, 우리는 이 두 가지의 관계성에 대해 이해할 필요가 있다!
성능과 보안 둘 중에 하나에 집중할 수록 다른 하나에 영향을 줄 수밖에 없다.
[시나리오]
- 새로 만든 웹 서비스가 있다.
- 사용자가 일부 서비스에 액세스하려면 로그인이 필요하다.
- 이를 통해 악의적인 행위자는 분산 서비스 거부 공격 및 주입 공격 등을 통해 서비스를 중단시킬 수 있게 된다.
- 이 서비스 방화벽에는 설정된 규칙이 없어 모든 트래픽을 허용한다.
위 시나리오는 보안과 성능 모두 매우 낮다(당연하게도)
해당 서비스에 적절한 방화벽 규칙을 추가하여 보안을 강화할 필요가 있다. 이는 성능과 사용성 향상과 이어진다.
성능과 보안의 균형
서비스 보안 강화를 위해 보안을 강화하고, 여러 공격을 차단하기 위해 더 많은 방화벽 규칙을 추가할 수 있다.
보안 강화에는 효과적이나, 특정 이상의 개선은 오히려 역효과를 낼 수도 있음에 주의해야 한다.
위 시나리오에 방화벽 규칙을 계속 추가하면 어떤 일이 벌어질까?
특정 한계를 넘어선 개선은 역효과를 낼 수 있으며, 실제로 기업의 수익 감소와 직결된다.
아마존은 지연 시간이 100ms 증가할 때마다 매출이 1% 감소했다고 밝혔다.
물론 기업마다 다르겠지만 이처럼 보안 기능을 계속 추가하면 회사 수익이 감소할 수 있다.
결론
모든 기업의 목표는 정해진 예산과 시간을 활용하여 수익 극대화, 시간 예산 최적화이다.
그 속에서 성능과 보안 사이의 적절한 균형을 이루는 것이 중요하다!
(이 균형은 주관적이고 상황에 따라 다르기 때문에, 어렵지만 그만큼 중요하다..)
위 예시와 같이 방화벽 규칙 추가는 보안을 강화시키는 반면에 성능을 저하시킨다.
반대로 성능 최적화는 보안 취약점을 유발할 수 있다.
따라서 개발자는 이러한 트레이드오프를 신중히 고려해야 하며, 필요에 맞게 균형을 잡는 것이 중요하다!
➕
성능과 보안의 우선순위 결정
성능과 보안을 동시에 개선할 수 없을 때 우선순위에 따라 조정해야 한다.
ex.
금융/의료 관련 서비스 ➡️ 보안 최우선
게임/콘텐츠 서비스 ➡️ 성능이 더 중요
기준 | 세부 내용 |
위험 분석을 통한 결정 | 보안 요구사항 분석 과정에서 시스템이 직면할 수 있는 주요 보안 위협을 파악하고, 보안 강화가 얼마나 필요한지 파악해야 한다. (sw 개발에서는 보안 요구사항을 분석하는 단계가 매우 중요하다!!) |
성능 최적화와 트레이드오프 | 성능 최적화: 시스템의 응답 시간, 자원 활용 등을 최적화 → 사용자 경험 향상 과도한 성능 최적화는 보안 취약성을 초래할 수 있다. ex. 캐싱이나 데이터 압축은 성능을 개선할 수 있지만, 제대로 구성되지 않는다면 공격자가 악용할 수 있는 허점을 남길 수 있다 https://senlainc.com/blog/performance-optimization-in-software-development/ |
실시간 모니터링과 점진적 개선 | 시스템이 운영되는 동안에도 실시간으로 모니터링하고 지속적으로 개선해야 한다. 보안 패치 적용과 성능 향상을 위한 튜닝을 반복 수행함으로써 두 요소 간의 균형을 유지할 수 있다. |
성능과 보안은 서비스 특성에 맞게 우선순위를 정하고 조정하는 것이 바람직하다.
🤔 이에 대한 나의 생각
현대의 웹 서비스는 사용자 경험이 핵심인만큼 성능이 매우 중요하지만, 이를 지나치게 최적화하면 오히려 보안에 문제가 생길 수 있다는 점에서 성능과 보안의 우선순위를 결정하는 것이 매우 중요한 작업(?) 임을 깨달았다.
예를 들어, 성능을 최적화하기 위해 일부 보안 규칙을 간소화하거나 비활성화한다면, 성능 최적화라는 목적은 달성했으나 보안에 허점이 생겨 새로운 문제를 초래할 수 있다.
반대로 보안을 강화하기 위해 여러 레이어의 방화벽을 도입하는 등 과도한 추가를 진행하면 성능에 부정적인 영향을 미칠 수 있다.
결론적으로 기업 입장에서 추진하는 프로젝트의 특성을 고려하여 우선순위를 결정하고 성능과 보안 사이에서 적절한 타협점을 찾는 것이 중요하다.
오늘 아티클을 통해, 각 상황에 맞는 전략적 결정을 내리는 것, 보안과 성능 모두 신중하게 고려해야 한다는 것을 배웠다.
상충되는 관계를 이해하고 이를 해결하는 것이 핵심인 것 같다!
'🗞️ 보안 동향 파악 및 나의 생각 정리' 카테고리의 다른 글
macOS Sequoia 업데이트 문제로 보는 기업 간의 "협업 중요성" (0) | 2024.10.12 |
---|---|
[Linux]: CUPS 결함-가장 작고 사소한 것도 보호해야 한다 (1) | 2024.10.01 |
PW 보안에 이어, ID 보안: 신원 보안의 중요성 (1) | 2024.09.25 |
SaaS: SaaS를 더 안전하게 사용할 수 있는 방법 (1) | 2024.09.24 |
한국 개인정보 유출 사고: 개인 정보 보호법으로 인한 투명성 손상 (1) | 2024.09.23 |