Īsumā
Tērzēšanas robots jūsu vietnē ir publisks, tāpēc mēs veidojām Apex, pieņemot, ka kāds mēģinās to izmantot ļaunprātīgi: palielināt jūsu rēķinu, likt tam pateikt to, ko nevajadzētu, nolasīt cita klienta datus vai pārņemt kontu. Šeit aprakstītas aizsardzības, kas ir ieslēgtas pēc noklusējuma. Šajā lapā aprakstīts, ko produkts dara šodien, nevis nākotnes ieceres.
Jūsu vietne un tērzēšanas logrīks
- Darbojas tikai jūsu vietnēs. Katram asistentam ir publiska vietnes atslēga, taču tērzēšanas API to pieņem tikai no jūsu norādītajām vietnēm. Pieprasījumi no jebkuras citas izcelsmes tiek noraidīti, tāpat kā pārlūka iepriekšējās pārbaudes (pre-flight), tāpēc nokopēts iegulšanas kods citur neko nedara. Vietnes atslēga nav noslēpums un nedod piekļuvi jūsu kontam.
- Izolēts no jūsu lapas. Logrīks tiek attēlots Shadow DOM vidē, tāpēc jūsu vietnes CSS to nevar sabojāt, un tas nelasa jūsu lapu.
- Nekādu sīkdatņu, nekādas izsekošanas. Logrīks neiestata sīkdatnes un trešo pušu izsekotājus. Atkarībā no jūsu iestatījuma tas atceras tikai sarunas ID – cilnei, pārlūkam vai nemaz.
- Tikai nelieli pieprasījumi. Katrs pieprasījums ir ierobežots līdz 16 KB, ziņu garums ir ierobežots (pēc noklusējuma 1000 rakstzīmes, maināms), un sarunai ir maksimālais garums.
- Atbildes netiek kešotas un tiek sūtītas ar
nosniff, tāpēc pārlūks vai CDN nevar saglabāt vai citādi interpretēt apmeklētāja sarunu.
MI drošība
- Atbildes nāk no jūsu satura. Asistentam ir norādīts atbildēt tikai ar faktiem, kas atrodami lapās un tekstā, ko sniedzāt Apex, nekad neizdomāt cenas, noteikumus vai kontaktinformāciju un pateikt, ka nezina, ja nekas būtisks nav atrasts. Kad tas nezina, tas var piedāvāt nodot sarunu jūsu komandai.
- Aizsargāts pret uzvedņu injekcijām. Apmeklētāju ziņas, jūsu vietnes teksts un jūsu pielāgotie norādījumi tiek nodoti modelim kā dati skaidri iezīmētās sadaļās, un noteiktie drošības noteikumi ir pirmie un tos nevar atcelt. Teksts, kas atdarina mūsu sadaļu marķierus, tiek neitralizēts, pirms tas sasniedz modeli. Jūsu norādījumi var veidot toni un tēmas, bet nevar izslēgt pamatotību vai drošību.
- Nekādu rīku, nekādu darbību. Asistents nevar veikt pasūtījumus, mainīt kontus, izpildīt kodu, pārlūkot tīmekli vai sazināties ar citām sistēmām. Sliktākais, ko var izdarīt veiksmīga manipulācija, ir mainīt to, ko saka viena saruna.
- Godīgi atzīst, ka ir MI, un nesniedz galīgus medicīniskus, juridiskus vai finanšu padomus. Varat arī uzskaitīt tēmas, par kurām tam pieklājīgi jāatsakās runāt.
- Izolēts katram klientam. Meklēšana notiek tikai tā asistenta saturā, kuram jautā, tāpēc viena klienta zināšanas nekad netiek izmantotas, lai atbildētu cita klienta vietnē.
Aizsardzība pret ļaunprātīgu izmantošanu un izmaksām
- Pieprasījumu ierobežojums katram apmeklētājam: pēc noklusējuma 15 ziņas minūtē vienam apmeklētājam, maināms katram asistentam (no 1 līdz 120), kā arī kopējais asistenta ierobežojums, tāpēc viena persona vai skripts nevar iztērēt jūsu limitu.
- Dienas tokenu budžets katram asistentam (pēc noklusējuma 2 miljoni, līdz 20 miljoniem), kas tiek skaitīts datubāzē, tāpēc saglabājas arī pēc restartēšanas. Kad tas ir iztērēts, asistents līdz nākamajai dienai pēc UTC vairs neatbild, nevis palielina izmaksas.
- E-pastu nevar izmantot kā surogātpasta lielgabalu. Nodošanas pieprasījumi ir ierobežoti katram apmeklētājam, asistentam un saņēmējam – stundā un dienā. Nodošanas adrese jāapstiprina ar uz to nosūtītu kodu, pirms mēs uz to kaut ko sūtām, tāpēc neviens nevar novirzīt sistēmu uz sveša cilvēka pastkastīti.
- Robotu pārbaude. Reģistrāciju, pieteikšanos, paroles atiestatīšanu un gaidīšanas sarakstu aizsargā Cloudflare Turnstile. Ja pārbaudi nevar pabeigt, pieprasījums tiek noraidīts, nevis atļauts.
Konti un pieteikšanās
- Paroles netiek glabātas nekad; tiek glabāts tikai sālīts scrypt jaucējkods (apzināti lēna, daudz atmiņas prasoša funkcija). Minimālais garums ir 8 rakstzīmes. Jaucējkodus vēlāk var pastiprināt, nevienam nebloķējot piekļuvi.
- E-pasta apstiprināšana ir obligāta, pirms tiek atvērts vadības panelis. Kodi ir sešciparu, derīgi 15 minūtes, glabāti tikai kā jaucējkods, bloķēti pēc 5 nepareiziem mēģinājumiem, un to pieprasīšanas un minēšanas biežums stundā ir ierobežots.
- Aizsardzība pret paroļu uzlaušanu. Neveiksmīgas pieteikšanās tiek skaitītas pēc e-pasta adreses, IP adreses un to kombinācijas, un turpmākie mēģinājumi tiek bloķēti uz 15 minūtēm. Nezināmas e-pasta adreses noraidīšana aizņem tikpat ilgu laiku kā nepareizas paroles noraidīšana, un kļūdas ziņojums ir tāds pats, tāpēc forma neatklāj, kurām adresēm ir konti.
- Sesijas. Sīkdatnē tiek glabāts nejaušs 256 bitu marķieris; mūsu datubāzē tiek glabāts tikai tā SHA-256 jaucējkods, tāpēc datubāzes noplūde neatklāj aktīvas sesijas. Sīkdatne ir HttpOnly (skripti to nevar nolasīt), Secure (tikai HTTPS) un SameSite=Lax. Sesija ilgst 24 stundas vai 30 dienas, ja izvēlaties “Palikt pieteiktam”.
- Kontrole paliek jūsu rokās. Paroles maiņa vai atiestatīšana izraksta jūs visās pārējās ierīcēs. Jūs varat arī iestatījumos izrakstīties visās pārējās ierīcēs un redzēt, cik no tām ir aktīvas.
- Pieteikšanās ar Google un GitHub izmanto vienreizēju stāvokļa vērtību (un Google gadījumā arī PKCE). Mēs pieņemam tikai tādu e-pasta adresi, ko pakalpojuma sniedzējs norāda kā apstiprinātu, tāpēc neviens nevar piesavināties adresi, kas tam nepieder.
- Drošības žurnāls. Pieteikšanās, neveiksmes, atiestatīšanas un paroļu maiņas tiek reģistrētas ar laiku, IP adresi un pārlūku, lai incidentu varētu izmeklēt.
- Kontu varat dzēst paši, apstiprinot to ar savas e-pasta adreses ievadīšanu. Kopā ar to tiek dzēstas darbvietas, kurās esat vienīgais dalībnieks.
Jūsu datu aizsardzība
- Šifrēšana pārsūtīšanas laikā. Katrs savienojums ar vietni, vadības paneli un tērzēšanas API izmanto HTTPS ar HSTS (uz diviem gadiem, ieskaitot apakšdomēnus), tāpēc pārlūki nekad neatgriežas pie nešifrēta HTTP. Savienojums ar datubāzi ir šifrēts, un tērzēšanas API pārbauda datubāzes sertifikātu.
- Katra darbvieta ir nošķirta. Vadības paneļa vaicājumi vienmēr ir ierobežoti ar pieteiktā lietotāja darbvietu. Katrā datubāzes tabulā ir ieslēgta rindu līmeņa drošība bez publiskām politikām, tāpēc datubāzes publiskā REST saskarne neko nevar nolasīt; to var tikai mūsu serveri ar saviem akreditācijas datiem.
- Kodi un marķieri tiek glabāti kā jaucējkodi, nevis lasāmā veidā: sesiju marķieri, apstiprinājuma un paroles atiestatīšanas kodi, kā arī nodošanas apstiprinājuma kodi.
- Personas dati nenonāk žurnālos. E-pasta adreses, tālruņu numuri, karšu numuri (pārbaudīti ar Luhn algoritmu) un Turcijas, Lietuvas, Latvijas un Igaunijas IBAN numuri tiek maskēti, pirms mūsu lietotņu žurnālos kaut kas tiek ierakstīts.
- Glabāšanas ilgumu nosakāt jūs. Sarunas tiek automātiski dzēstas pēc jūsu izvēlētā perioda (no 1 līdz 365 dienām, pēc noklusējuma 30), un jebkuru no tām varat dzēst paši vadības panelī.
- Apmācība – tikai ar piekrišanu. Jūsu saturu savu modeļu uzlabošanai izmantojam tikai tad, ja esat piekrituši, un šo izvēli varat mainīt jebkurā laikā.
- Mitināts ES tur, kur tas ir svarīgi. Tērzēšanas API darbojas Frankfurtē, Vācijā. Visi datus apstrādājošie pakalpojumu sniedzēji ir norādīti privātuma politikā.
Droša jūsu vietnes lasīšana
Kad sniedzat Apex URL, mūsu rāpuļprogramma to ielādē jūsu vārdā. Tā kā URL ievadāt jūs, mēs to uzskatām par neuzticamiem ievades datiem, lai to nevarētu izmantot mūsu iekšējā tīkla sasniegšanai:
- Tikai
httpunhttpsstandarta portos (80 un 443); nekādu URL ar iegultiem akreditācijas datiem. - Tikai publiskas adreses. Privātie, atgriezeniskās saites (loopback), lokālās saites (link-local) un rezervētie diapazoni tiek bloķēti, ieskaitot to IPv6 un uz IPv4 kartētās formas, un pārbaude notiek adresei, ar kuru faktiski tiek izveidots savienojums, kas novērš DNS atkārtotas piesaistes (DNS rebinding) trikus. Lokālie resursdatoru nosaukumi, piemēram,
localhost,.localun.internal, tiek noraidīti. - Katra novirzīšana tiek pārbaudīta no jauna, ne vairāk kā 5 lēcieni. Laiks un izmērs ir ierobežoti, arī pēc atspiešanas, lai apturētu “zip bumbas”.
- Tā identificē sevi kā
ApexBotun ievēro vietnesrobots.txt.
Pārlūka aizsardzība
Vadības panelis un vietne katrā lapā sūta šādas drošības galvenes:
X-Frame-Options: DENYunframe-ancestors 'none', lai vadības paneli nevarētu ievietot rāmī klikšķu nolaupīšanai.Strict-Transport-Securityuz diviem gadiem, ieskaitot apakšdomēnus.X-Content-Type-Options: nosniffun stingra atsauces (referrer) politika.object-src 'none'unbase-uri 'self'satura drošības politikā.- Atļauju politika, kas atspējo kameru, mikrofonu un atrašanās vietu.
API pieņem tikai JSON saturu, ko citas vietnes forma nevar nosūtīt bez iepriekšējās pārbaudes, un servera identifikācijas galvene netiek atklāta.
Kā mēs to veidojam un uzturam
- Kodam, kas apstrādā pieteikšanos, meklēšanu, pieprasījumu ierobežojumus, rāpuļprogrammu un datu maskēšanu, ir automatizēti testi.
- Noslēpumi (API atslēgas, datubāzes akreditācijas dati) tiek glabāti mitināšanas pakalpojumu sniedzēju noslēpumu krātuvēs, nevis kodā.
- Datubāzes izmaiņas ir versiju migrācijas, kas tiek piemērotas automātiski un ko var droši palaist atkārtoti.
- Pakalpojumu sniedzēji, uz kuriem paļaujamies, un tas, ko katrs saņem, ir uzskaitīti privātuma politikā.
Ko varat darīt jūs
- Norādiet tikai tās vietnes, kurās jārāda asistents, un pārskatiet sarakstu, kad mainās jūsu domēni.
- Izmantojiet spēcīgu, unikālu paroli vai pieteikšanos ar Google vai GitHub un izrakstieties ierīcēs, kuras vairs neizmantojat.
- Neiekļaujiet privātu informāciju lapās un tekstā, ko sniedzat Apex: pieņemiet, ka jebko no tā var citēt apmeklētājam.
- Iestatiet savai vietnei piemērotu glabāšanas periodu un dienas budžetu un izmantojiet nodošanas adresi, ko kontrolējat jūs.
- Informējiet apmeklētājus par to, kā apstrādājat viņu datus, kā to pieprasa VDAR un KVKK.
Ziņojiet par ievainojamību vai incidentu
Ja domājat, ka esat atraduši vājo vietu, vai kaut kas nav kārtībā ar jūsu kontu, rakstiet uz hello@apexbot.eu. Sniedziet pietiekami daudz informācijas, lai problēmu varētu atkārtot. Lūdzu, dodiet mums saprātīgu iespēju to novērst, pirms to publiskojat, un nepiekļūstiet citu personu datiem, netraucējiet pakalpojumu un neveiciet automatizētu skenēšanu produkcijas vidē. Mēs apstiprināsim jūsu ziņojuma saņemšanu un informēsim jūs par gaitu.
Neviena sistēma nav pilnīgi droša. Ja datu drošības pārkāpums skars jūsu datus, mēs paziņosim jums un iestādēm, kā to pieprasa likums. Par to, kā mēs apstrādājam personas datus, lasiet privātuma politikā.