Co to jest bezpieczeństwo oprogramowania?

Co to jest bezpieczeństwo oprogramowania?
Software Security to budowanie bezpiecznego oprogramowania z nieodłączną obroną, dzięki czemu nadal funkcjonuje pod złośliwymi atakami, z zadowoleniem użytkowników i właścicieli oprogramowania. W tym artykule wyjaśniono zagrożenia i rozwiązania z ogólnego punktu widzenia. Wyjaśniono również standardowe słownictwo w zakresie bezpieczeństwa informacji. Powinieneś być komputerowym i internetowym, aby zrozumieć ten artykuł; Powinieneś również studiować język komputerowy, e.G., Perl, C, C ++, PHP itp.

Zabezpieczone są pakiety informacyjne i oprogramowania (aplikacje i dokumenty). Informacje to każda wiadomość, która jest przydatna dla każdego. „Informacje” to niejasne słowo. Kontekst, w którym jest używany, nadaje swoje znaczenie. Może to oznaczać wiadomości, wykład, samouczek (lub lekcja) lub rozwiązanie. Pakiet oprogramowania jest zwykle rozwiązaniem problemu lub powiązanych problemów. W przeszłości wszystkie informacje, które nie wypowiedziano na papierze. Dzisiaj oprogramowanie można uznać za podzbiór informacji.

Oprogramowanie może znajdować się w komputerze lub przebywać w transporcie z jednego komputera do drugiego. Pliki, dane, e -maile, nagrane głos, nagrane filmy, programy i aplikacje znajdują się na komputerze. Podczas przebywania w komputerze można go uszkodzić. Podczas transportu można go nadal uszkodzić.

Każde urządzenie z procesorem i pamięcią to komputer. Tak więc w tym artykule kalkulator, smartfon lub tablet (e.G., iPad) to komputer. Każde z tych urządzeń i ich sieci transmisji sieci ma oprogramowanie lub oprogramowanie w tranzycie, które należy chronić.

Przywileje

Użytkownik może otrzymać uprawnienia do wykonywania pliku na komputerze. Użytkownik może otrzymać uprawnienia do odczytania kodu pliku w komputerze. Użytkownik może otrzymać uprawnienia do modyfikacji (zapisywania) kodu pliku w komputerze. Użytkownik może otrzymać jeden, dwa lub wszystkie trzy z tych uprawnień. Istnieją inne uprawnienia do systemu operacyjnego lub bazy danych. Użytkownicy mają różne kwoty lub poziomy uprawnień w systemie.

Zagrożenia

Podstawy zagrożeń oprogramowania

Aby chronić oprogramowanie, musisz znać jego zagrożenia. Oprogramowanie musi być chronione przed nieautoryzowanymi osobami uzyskującymi dostęp do jego danych. Musi być chroniony przed niezgodnym z prawem użyciem (na przykład w celu wyrządzenia krzywdy). Oprogramowanie powinno być chronione przed ujawnieniem rywali. Oprogramowania nie powinno być uszkodzone. Oprogramowania nie należy usuwać nieumyślnie. Oprogramowania nie należy zakłócać. Oprogramowanie nie powinno mieć żadnej modyfikacji, która jest nie do podjęcia. Dane (oprogramowanie) nie powinny być sprawdzane bez żadnego powodu, szczególnie przez osoby nieautoryzowane. Oprogramowania nie powinno być kopiowane (pirackie).

Jedna lub więcej z tych baz, co skutkuje określonym rodzajem klasycznego zagrożenia.

Zajęcia zagrożenia oprogramowaniem

Atak fałdowania

W tej sytuacji, w której osoba (lub program) z powodzeniem reprezentuje inną osobę (lub program) w jakiejś aktywności oprogramowania. Odbywa się to przy użyciu fałszywych danych, aby uzyskać przewagę, która jest nielegalna.

Odrzucenie

Taka jest sytuacja, w której ktoś robi coś złego, i odmawia, że ​​on/ona to nie zrobił. Osoba może użyć podpisu innej osoby, aby zrobić niewłaściwą rzecz.

Naruszenie danych

Naruszenie danych ma miejsce, gdy informacje o bezpiecznych lub prywatnych informacji są umyślnie lub nieumyślnie do środowiska, które nie jest zaufane.

Atak odmowy usług

Sieć komputerowa oprogramowania ma oprogramowanie działające w komputerach sieci. Każdy użytkownik zwykle używa swojego komputera przed nim i zwykle żąda usług od innych komputerów w sieci. Kryminalny użytkownik może zdecydować o zalewaniu serwera zbędnym żądaniom. Serwer ma ograniczoną liczbę żądań, które może obsłużyć w czasie trwania. W tym schemacie powodziowym legalni użytkownicy nie mogą korzystać z serwera tak często, jak powinni, ponieważ serwer jest zajęty odpowiadaniem na żądania przestępcy. To przeładowuje serwer, tymczasowo lub w nieskończoność, zakłócając usługi serwera. W trakcie tego hosta (serwer) spowalnia działające dla legalnych użytkowników, podczas gdy sprawca prowadzi swoje psoty, które staje się niewykryte, ponieważ legalni użytkownicy stojący obok, czekający na usługę, nie mogli wiedzieć, co się dzieje serwer. Dobrym użytkownikom odmawia się usługi, podczas gdy atak trwa.

Eskalacja przywileju

Różni użytkownicy systemu operacyjnego lub aplikacji mają różne uprawnienia. Tak więc niektórzy użytkownicy mają większą wartość niż inni, z systemu. Wykorzystanie błędu oprogramowania lub nadzoru konfiguracji w celu uzyskania podwyższonego dostępu do zasobów lub nieautoryzowanych informacji to eskalacja uprawnienia.

Powyższe schematy klasyfikacji można wykorzystać do spowodowania wirusa komputerowego i robaków.

Jeden lub więcej powyższych schematów klasyfikacji można wykorzystać do ataków oprogramowania, które obejmują: kradzież właściwości intelektualnej, uszkodzenie bazy danych, kradzież tożsamości, sabotaż i wymuszanie informacji. Jeśli dana osoba używa jednego lub więcej programów do modyfikacji destrukcyjnej, strony internetowej, aby klienci witryny stracili zaufanie, to sabotaż. Wymieszanie informacji to kradzież komputera firmy lub fałszywe uzyskiwanie tajnych informacji o firmie. Skradziony komputer może mieć tajne informacje. Może to prowadzić do oprogramowania ransomware, gdzie złodziej poprosi o płatność, w zamian za nieruchomość lub skradzione informacje.

Prywatność

Kiedy coś jest dla ciebie wrażliwe lub z natury wyjątkowe, to jest dla ciebie prywatne. Dotyczy to również grupy ludzi. Osoba musi wyrażać się selektywnie. Aby osiągnąć taką selektywność, jednostka musi zaplanować siebie lub zaplanować informacje o sobie; To jest prywatność. Grupa ludzi musi wyrażać się selektywnie. Aby osiągnąć taką selektywność, grupa musi się zaplanować lub zaplanować informacje o sobie; To jest prywatność. Jednostka musi się wybijać selektywnie. Aby osiągnąć tak selektywną ochronę, jednostka musi się chronić lub chronić informacje o sobie w selektywnym sposób; to znaczy prywatność. Grupa ludzi musi się selektywnie chronić. Aby osiągnąć taką selektywną ochronę, grupa musi się chronić lub chronić informacje o sobie w sposób selektywny; to znaczy prywatność.

Identyfikacja i uwierzytelnianie

Kiedy podróżujesz do obcego kraju, dotrzesz do portu w tym kraju. W porcie policjant poprosi cię o identyfikację. Zaprezentujesz swój paszport. Policjant pozna twój wiek (od daty urodzenia), płeć i zawód z paszportu, a on spojrzy na ciebie (twarz); to jest identyfikacja. Policjant porównuje twoją prawdziwą twarz i zdjęcie w paszporcie. On również oszacuje twój wiek z tym, co jest w paszporcie, aby wiedzieć, czy to ty.

Patrząc na ciebie i kojarzenie z tobą, płcią i zawodem to identyfikacja. Sprawdzanie, czy twoja prawdziwa twarz i zdjęcie są takie same, a szacowanie, czy Twoja prezentacja pasuje do Twojego wieku, jest uwierzytelnianiem. Identyfikacja kojarzy osobę lub coś z pewnymi atrybutami. Wskazanie tożsamości jest również identyfikacją. Uwierzytelnianie to akt udowodnienia, że ​​tożsamość (identyfikacja) jest prawdziwa. Innymi słowy, uwierzytelnianie jest aktem udowodnienia stwierdzenia.

W obliczeniach najczęstszym sposobem uwierzytelniania jest użycie hasła. Na przykład serwer ma wielu użytkowników. W Login wskazujesz swoją tożsamość (identyfikuj się) ze swoją nazwą użytkownika. Udowodniasz swoją tożsamość z hasłem. Twoje hasło powinno być znane tylko przez Ciebie. Uwierzytelnianie może pójść dalej; zadając ci pytanie, na przykład „w którym mieście lub miasto się urodziłeś?"

Cele bezpieczeństwa

Cele bezpieczeństwa w informacjach to poufność, uczciwość i dostępność. Te trzy funkcje są znane jako CIA Triada: C dla poufności, I dla uczciwości i dostępności.

Poufność

Informacji nie można ujawniać osobom nieuprawnionym, nieautoryzowanym podmiotom lub nieautoryzowanym procesom; Jest to poufność informacji w zakresie bezpieczeństwa informacji (a także bezpieczeństwo oprogramowania). Kradzież haseł lub wysyłanie wrażliwych wiadomości e -mail do niepoprawnej osoby jest narażona na kompromis. Poufność jest elementem prywatności, który chroni informacje przed nieautoryzowanymi osobami, nieautoryzowanymi podmiotami lub nieautoryzowanymi procesami.

Uczciwość

Informacje lub dane mają cykl życia. Innymi słowy, informacje lub dane mają czas rozpoczęcia i zakończenia. W niektórych przypadkach, po zakończeniu cyklu życia, informacje (lub dane) muszą być wymazane (legalnie). Integralność składa się z dwóch funkcji, które są: 1) konserwacji i zapewnienia dokładności informacji (lub danych) w całym cyklu życia oraz 2) kompletności informacji (lub danych) w całym cyklu życia. Tak więc informacje (lub dane) nie mogą być zmniejszone ani modyfikowane w nieautoryzowany lub niewykryty sposób.

Dostępność

Aby każdy system komputerowy może służyć jego celowi, informacje (lub dane) muszą być dostępne w razie potrzeby. Oznacza to, że system komputerowy i jego media transmisyjne muszą działać poprawnie. Dostępność może być narażona na ulepszenia systemu, awarie sprzętowe i przerwy w zasilanie. Dostępność może być również narażona na szwank ataków odmowy usług.

Nieprzedanie

Kiedy ktoś używa twojej tożsamości i podpisu do podpisania umowy, której nigdy nie spełnił, brak powtórzenia ma miejsce, gdy nie możesz z powodzeniem zaprzeczyć w sądzie, że nie byłeś autorem umowy.

Pod koniec umowy partia oferująca usługę musiała zaoferować usługę; Płaca strona musiała dokonać płatności.

Aby zrozumieć, w jaki sposób brak reputacji ma zastosowanie do komunikacji cyfrowej, musisz najpierw poznać znaczenie klucza i znaczenie podpisu cyfrowego. Kluczem jest kawałek kodu. Podpis cyfrowy to algorytm, który wykorzystuje klucz do tworzenia innego kodu, który jest porównywany do pisemnego podpisu nadawcy.

W zakresie bezpieczeństwa cyfrowego zapewniane jest (niekoniecznie gwarantowane) przez podpis cyfrowy. W bezpieczeństwie oprogramowania (lub bezpieczeństwa informacji) brak zastąpienia dotyczy integralności danych. Szyfrowanie danych (które mogłeś usłyszeć) w połączeniu z podpisem cyfrowym przyczynia się również do poufności.

Cele bezpieczeństwa w informacjach to poufność, uczciwość i dostępność. Jednak brak zastrzeżenia to kolejna funkcja, którą musisz wziąć pod uwagę przy bezpieczeństwie informacji (lub bezpieczeństwie oprogramowania).

Odpowiedzi na zagrożenia

Zagrożenia można odpowiedzieć na jeden lub więcej z następujących trzech sposobów:

- Redukcja/łagodzenie: jest to wdrożenie zabezpieczeń i środków zaradczych w celu wyeliminowania luk lub zablokowania zagrożeń.

- Przypisanie/przeniesienie: stawia to ciężar zagrożenia na inny podmiot, taki jak firma ubezpieczeniowa lub firma outsourcingowa.

- Akceptacja: ocenia to, czy koszt środka zaradczego przewyższa możliwy koszt straty z powodu zagrożenia.

Kontrola dostępu

W bezpieczeństwie informacyjnym, w którym bezpieczeństwo oprogramowania jest częścią, kontrola dostępu jest mechanizmem, który zapewnia, że ​​tylko kwalifikujący się użytkownicy są w stanie uzyskać dostęp do zasobów chronionych w danym systemie, z różnymi zasłużonymi uprawnieniami.

Obecne rozwiązanie bezpieczeństwa informacji

Obecnym i popularnym sposobem bezpieczeństwa informacji jest egzekwowanie kontroli dostępu. Obejmuje to takie środki, jak walidacja danych wejściowych do aplikacji, instalacja antywirusowa, korzystanie z zapory do sieci lokalnej i zastosowanie bezpieczeństwa warstwy transportowej.

Kiedy oczekujesz daty jako danych wejściowych do aplikacji, ale użytkownik wprowadza liczbę, takie wejście musi zostać odrzucone. To jest sprawdzanie poprawności wejściowej.

Antiwirus zainstalowany na komputerze zapobiega uszkodzeniu plików na komputerze. Pomaga to w dostępności oprogramowania.

Można postawić zasady monitorowania i kontroli nadchodzącego i wychodzącego ruchu sieci lokalnej, aby chronić sieć. Gdy takie reguły są wdrażane jako oprogramowanie, w sieci lokalnej, to jest zapora ogniowa.

Transport Warstwa Security (TLS) to protokół bezpieczeństwa zaprojektowany w celu ułatwienia prywatności i bezpieczeństwa danych dla transmisji przez Internet. Obejmuje to szyfrowanie komunikacji między wysłaniem hosta a odbieraniem hosta.

Wykonanie bezpieczeństwa informacji poprzez egzekwowanie kontroli dostępu nazywa się oprogramowaniem bezpieczeństwa, które różni się od bezpieczeństwa oprogramowania, jak wyjaśniono poniżej. Oba podejścia mają ten sam cel, ale są różne.

Właściwe bezpieczeństwo oprogramowania

Aplikacje, jak są napisane dzisiaj, mają wiele luk w oprogramowaniu, które programiści zdawali sobie sprawę z coraz więcej. Większość ataków odbywa się poprzez wykorzystanie tych luk niż przezwyciężenie lub praca nad kontrolą dostępu.

Bufor jest jak tablica, ale bez narzuconej długości. Kiedy programista pisze do bufora, możliwe jest nieświadomie nadpisanie poza jego długością. Ta podatność jest przepełnieniem bufora.

Oprogramowanie dziś uciekło z konsekwencjami bezpieczeństwa-w tym błędy implementacyjne, takie jak przepełnienia buforowe i wady projektowe, takie jak niespójne obsługi błędów. To są luki.

Być może słyszałeś o kodach językowych komputerowych, takich jak kody PHP, kody perl i kody C ++. To są luki.

Bezpieczeństwo oprogramowania, w przeciwieństwie do oprogramowania bezpieczeństwa, przezwycięży te luki, pisząc kod obronny, w którym zapobiegano lukom. Podczas stosowania aplikacji, ponieważ odkryto więcej luk, programiści (programiści) powinni szukać sposobów na ponowne kodowanie luk w obronie.

Zagrożenia, zaprzeczania serwisu, nie można zatrzymać kontroli dostępu, ponieważ aby sprawca mógł to zrobić, musi już mieć dostęp do hosta (serwer). Można go zatrzymać, włączając niektóre wewnętrzne oprogramowanie, które monitoruje to, co użytkownicy robią w hoście.

Software Security to solidny projekt od wewnątrz, który utrudnia ataki oprogramowania. Oprogramowanie powinno być samowystarczalne i, na limicie, nie ma wrażliwości. W ten sposób uruchomienie bezpiecznej sieci staje się łatwiejsze i bardziej opłacalne.

Bezpieczeństwo oprogramowania projektuje kod obronny z wewnątrz aplikacji, podczas gdy oprogramowanie bezpieczeństwa (projektowanie) kontroli dostępu. Czasami te dwa problemy pokrywają się, ale często nie.

Bezpieczeństwo oprogramowania jest już dość rozwinięte, choć jest nadal rozwijane, nie jest tak opracowane jak oprogramowanie bezpieczeństwa. Złymi hakerzy osiągają swoje cele bardziej, wykorzystując luki w oprogramowaniu niż przezwyciężenie lub praca wokół oprogramowania bezpieczeństwa. Oczekuje się, że w przyszłości bezpieczeństwo informacji będzie bardziej bezpieczeństwa oprogramowania niż oprogramowanie bezpieczeństwa. Na razie musi trwać zarówno oprogramowanie bezpieczeństwa oprogramowania, jak i bezpieczeństwo.

Bezpieczeństwo oprogramowania nie będzie tak naprawdę skuteczne, jeśli rygorystyczne testy nie zostaną wykonane na końcu tworzenia oprogramowania.

Programiści muszą być wykształceni w zakresie prowadzenia programowania kodu obronnego. Użytkownicy muszą być również edukowani na temat defensywy korzystania z aplikacji.

W bezpieczeństwie oprogramowania programista musi upewnić się, że użytkownik nie otrzyma więcej uprawnień, niż na to zasługuje.

Wniosek

Software Security to projektowanie aplikacji z kodowaniem defensywnym przed lukrem, aby utrudnić ataki oprogramowania. Z drugiej strony oprogramowanie bezpieczeństwa to produkcja oprogramowania, które wymusza kontrolę dostępu. Bezpieczeństwo oprogramowania jest nadal opracowywane, ale jest bardziej obiecujące dla bezpieczeństwa informacji niż oprogramowanie bezpieczeństwa. Jest już używany i rośnie z popularności. W przyszłości oba będą potrzebne, ale dzięki oprogramowaniu potrzebne bezpieczeństwo potrzebne.