За пореден път съм блокиран във Facebook и за втори път причината е, че цитирам с ирония думите на някого друг. В случая коментирах под пост на Йордан Стефанов, който списва „Наука и критично мислене“ и блога 6nine. Поводът беше негово участие при Коритаров, където говори за скорошните протести на антиваксърте срещу задължителния характер на ваксините. В общи линии малко повече може да се каже, отколкото при предишния им протест, но явно има нужда да се повтаря отново и отново. Затова е добре, че Йордан се наема да го прави.
За това си участие си той спечели поредна доза определения из едни групи във фейса. Едно от по-цветущите му изпратих и цитирах под поста му. Ето оригиналния коментар пуснат на стената на един от организаторите на активакс протеста:
Два дни по-късно профилът ми беше блокиран за 24 часа, тъй като коментарът ми не отговарял на стандартите на общността. Ясно съм го означил като цитат, а и от контекста после става ясно. Това, разбира се, няма значение, тъй като алгоритмите не разбират от контекст. Те търсят ключови думи, а в коментара ми определено има няколко притеснителни такива. Затова съм си спечелил и блокиране.
Тъй като статусът на Йордан беше частен, не мисля, че някой е подавал оплаквания конкретно за него. По-скоро са изпращали повече сигнали за мен и други неща, които съм писал. Когато алгоритъмът е хванал въпросната ключова дума, се е задействал. Нещо подобно стана преди две години, когато пак иронизирам мъжкарите, които се пънеха, че бежанците в Германия са били жени, но като стане дума за домашното насилие, всички опорстват. Предвид дебатът за оная конвенция този статус май е все по-актуален.
Интересното в този случай е, че цитираният от мен коментар си стои. Въпреки използването на същите ключови думи и въпреки многобройните докладвания. Моят вече е изтрит. Това всъщност е един дребен пример защо не трябва да се позволява на алгоритми да филтрират съдържание и да раздават наказания. Именно това се готви като законодателство на европейско ниво, но не просто в сферата на интернет тормоза, но и като защитата на интелектуална собственост.
Но в крайна сметка мярката е само за 24 часа и отново ще получа извинение от Fb, както последните пъти. Щом участието на Йордан толкова е подразнило антиваксърите, значи си заслужава да го видите, както и да се насочите към блога му 6nine.
Правителството на Папуа Нова Гвинея забранява Facebook за един месец, за да се справи с фалшивите профили и да проучи ефектите, които сайтът има върху населението.
Уникално: едновременно това е мярка – защото държавата ще филтрира – и експеримент – защото ще проучва. Остава да видим дали тази практика ще се разпространи и извън Папуа Нова Гвинея.
“Времето ще позволи да се събере информация за идентифициране на потребители, които се крият зад фалшиви профили, потребители, които качват порнографски изображения, потребители, които публикуват невярна и подвеждаща информация във Фейсбук, за да бъде филтрирано и премахнато това съдържание”.
The German charity Save Nemo works to protect coral reefs, and they are developing Nemo-Pi, an underwater “weather station” that monitors ocean conditions. Right now, you can vote for Save Nemo in the Google.org Impact Challenge.
Save Nemo
The organisation says there are two major threats to coral reefs: divers, and climate change. To make diving saver for reefs, Save Nemo installs buoy anchor points where diving tour boats can anchor without damaging corals in the process.
In addition, they provide dos and don’ts for how to behave on a reef dive.
The Nemo-Pi
To monitor the effects of climate change, and to help divers decide whether conditions are right at a reef while they’re still on shore, Save Nemo is also in the process of perfecting Nemo-Pi.
This Raspberry Pi-powered device is made up of a buoy, a solar panel, a GPS device, a Pi, and an array of sensors. Nemo-Pi measures water conditions such as current, visibility, temperature, carbon dioxide and nitrogen oxide concentrations, and pH. It also uploads its readings live to a public webserver.
The Save Nemo team is currently doing long-term tests of Nemo-Pi off the coast of Thailand and Indonesia. They are also working on improving the device’s power consumption and durability, and testing prototypes with the Raspberry Pi Zero W.
The web dashboard showing live Nemo-Pi data
Long-term goals
Save Nemo aims to install a network of Nemo-Pis at shallow reefs (up to 60 metres deep) in South East Asia. Then diving tour companies can check the live data online and decide day-to-day whether tours are feasible. This will lower the impact of humans on reefs and help the local flora and fauna survive.
A healthy coral reef
Nemo-Pi data may also be useful for groups lobbying for reef conservation, and for scientists and activists who want to shine a spotlight on the awful effects of climate change on sea life, such as coral bleaching caused by rising water temperatures.
A bleached coral reef
Vote now for Save Nemo
If you want to help Save Nemo in their mission today, vote for them to win the Google.org Impact Challenge:
Click “Abstimmen” in the footer of the page to vote
Click “JA” in the footer to confirm
Voting is open until 6 June. You can also follow Save Nemo on Facebook or Twitter. We think this organisation is doing valuable work, and that their projects could be expanded to reefs across the globe. It’s fantastic to see the Raspberry Pi being used to help protect ocean life.
Today, at the AWS Summit in Tokyo we announced a number of updates and new features for Amazon SageMaker. Starting today, SageMaker is available in Asia Pacific (Tokyo)! SageMaker also now supports CloudFormation. A new machine learning framework, Chainer, is now available in the SageMaker Python SDK, in addition to MXNet and Tensorflow. Finally, support for running Chainer models on several devices was added to AWS Greengrass Machine Learning.
Amazon SageMaker Chainer Estimator
Chainer is a popular, flexible, and intuitive deep learning framework. Chainer networks work on a “Define-by-Run” scheme, where the network topology is defined dynamically via forward computation. This is in contrast to many other frameworks which work on a “Define-and-Run” scheme where the topology of the network is defined separately from the data. A lot of developers enjoy the Chainer scheme since it allows them to write their networks with native python constructs and tools.
Luckily, using Chainer with SageMaker is just as easy as using a TensorFlow or MXNet estimator. In fact, it might even be a bit easier since it’s likely you can take your existing scripts and use them to train on SageMaker with very few modifications. With TensorFlow or MXNet users have to implement a train function with a particular signature. With Chainer your scripts can be a little bit more portable as you can simply read from a few environment variables like SM_MODEL_DIR, SM_NUM_GPUS, and others. We can wrap our existing script in a if __name__ == '__main__': guard and invoke it locally or on sagemaker.
import argparse
import os
if __name__ =='__main__':
parser = argparse.ArgumentParser()
# hyperparameters sent by the client are passed as command-line arguments to the script.
parser.add_argument('--epochs', type=int, default=10)
parser.add_argument('--batch-size', type=int, default=64)
parser.add_argument('--learning-rate', type=float, default=0.05)
# Data, model, and output directories
parser.add_argument('--output-data-dir', type=str, default=os.environ['SM_OUTPUT_DATA_DIR'])
parser.add_argument('--model-dir', type=str, default=os.environ['SM_MODEL_DIR'])
parser.add_argument('--train', type=str, default=os.environ['SM_CHANNEL_TRAIN'])
parser.add_argument('--test', type=str, default=os.environ['SM_CHANNEL_TEST'])
args, _ = parser.parse_known_args()
# ... load from args.train and args.test, train a model, write model to args.model_dir.
Then, we can run that script locally or use the SageMaker Python SDK to launch it on some GPU instances in SageMaker. The hyperparameters will get passed in to the script as CLI commands and the environment variables above will be autopopulated. When we call fit the input channels we pass will be populated in the SM_CHANNEL_* environment variables.
from sagemaker.chainer.estimator import Chainer
# Create my estimator
chainer_estimator = Chainer(
entry_point='example.py',
train_instance_count=1,
train_instance_type='ml.p3.2xlarge',
hyperparameters={'epochs': 10, 'batch-size': 64}
)
# Train my estimator
chainer_estimator.fit({'train': train_input, 'test': test_input})
# Deploy my estimator to a SageMaker Endpoint and get a Predictor
predictor = chainer_estimator.deploy(
instance_type="ml.m4.xlarge",
initial_instance_count=1
)
Now, instead of bringing your own docker container for training and hosting with Chainer, you can just maintain your script. You can see the full sagemaker-chainer-containers on github. One of my favorite features of the new container is built-in chainermn for easy multi-node distribution of your chainer training jobs.
There’s a lot more documentation and information available in both the README and the example notebooks.
AWS GreenGrass ML with Chainer
AWS GreenGrass ML now includes a pre-built Chainer package for all devices powered by Intel Atom, NVIDIA Jetson, TX2, and Raspberry Pi. So, now GreenGrass ML provides pre-built packages for TensorFlow, Apache MXNet, and Chainer! You can train your models on SageMaker then easily deploy it to any GreenGrass-enabled device using GreenGrass ML.
JAWS UG
I want to give a quick shout out to all of our wonderful and inspirational friends in the JAWS UG who attended the AWS Summit in Tokyo today. I’ve very much enjoyed seeing your pictures of the summit. Thanks for making Japan an amazing place for AWS developers! I can’t wait to visit again and meet with all of you.
Today I’m excited to announce built-in authentication support in Application Load Balancers (ALB). ALB can now securely authenticate users as they access applications, letting developers eliminate the code they have to write to support authentication and offload the responsibility of authentication from the backend. The team built a great live example where you can try out the authentication functionality.
Identity-based security is a crucial component of modern applications and as customers continue to move mission critical applications into the cloud, developers are asked to write the same authentication code again and again. Enterprises want to use their on-premises identities with their cloud applications. Web developers want to use federated identities from social networks to allow their users to sign-in. ALB’s new authentication action provides authentication through social Identity Providers (IdP) like Google, Facebook, and Amazon through Amazon Cognito. It also natively integrates with any OpenID Connect protocol compliant IdP, providing secure authentication and a single sign-on experience across your applications.
How Does ALB Authentication Work?
Authentication is a complicated topic and our readers may have differing levels of expertise with it. I want to cover a few key concepts to make sure we’re all on the same page. If you’re already an authentication expert and you just want to see how ALB authentication works feel free to skip to the next section!
Authentication verifies identity.
Authorization verifies permissions, the things an identity is allowed to do.
OpenID Connect (OIDC) is a simple identity, or authentication, layer built on top on top of the OAuth 2.0 protocol. The OIDC specification document is pretty well written and worth a casual read.
Identity Providers (IdPs) manage identity information and provide authentication services. ALB supports any OIDC compliant IdP and you can use a service like Amazon Cognito or Auth0 to aggregate different identities from various IdPs like Active Directory, LDAP, Google, Facebook, Amazon, or others deployed in AWS or on premises.
When we get away from the terminology for a bit, all of this boils down to figuring out who a user is and what they’re allowed to do. Doing this securely and efficiently is hard. Traditionally, enterprises have used a protocol called SAML with their IdPs, to provide a single sign-on (SSO) experience for their internal users. SAML is XML heavy and modern applications have started using OIDC with JSON mechanism to share claims. Developers can use SAML in ALB with Amazon Cognito’s SAML support. Web app or mobile developers typically use federated identities via social IdPs like Facebook, Amazon, or Google which, conveniently, are also supported by Amazon Cognito.
ALB Authentication works by defining an authentication action in a listener rule. The ALB’s authentication action will check if a session cookie exists on incoming requests, then check that it’s valid. If the session cookie is set and valid then the ALB will route the request to the target group with X-AMZN-OIDC-* headers set. The headers contain identity information in JSON Web Token (JWT) format, that a backend can use to identify a user. If the session cookie is not set or invalid then ALB will follow the OIDC protocol and issue an HTTP 302 redirect to the identity provider. The protocol is a lot to unpack and is covered more thoroughly in the documentation for those curious.
ALB Authentication Walkthrough
I have a simple Python flask app in an Amazon ECS cluster running in some AWS Fargate containers. The containers are in a target group routed to by an ALB. I want to make sure users of my application are logged in before accessing the authenticated portions of my application. First, I’ll navigate to the ALB in the console and edit the rules.
I want to make sure all access to /account* endpoints is authenticated so I’ll add new rule with a condition to match those endpoints.
Now, I’ll add a new rule and create an Authenticate action in that rule.
I’ll have ALB create a new Amazon Cognito user pool for me by providing some configuration details.
After creating the Amazon Cognito pool, I can make some additional configuration in the advanced settings.
I can change the default cookie name, adjust the timeout, adjust the scope, and choose the action for unauthenticated requests.
I can pick Deny to serve a 401 for all unauthenticated requests or I can pick Allow which will pass through to the application if unauthenticated. This is useful for Single Page Apps (SPAs). For now, I’ll choose Authenticate, which will prompt the IdP, in this case Amazon Cognito, to authenticate the user and reload the existing page.
Now I’ll add a forwarding action for my target group and save the rule.
Over on the Facebook side I just need to add my Amazon Cognito User Pool Domain to the whitelisted OAuth redirect URLs.
I would follow similar steps for other authentication providers.
Now, when I navigate to an authenticated page my Fargate containers receive the originating request with the X-Amzn-Oidc-* headers set by ALB. Using the information in those headers (claims-data, identity, access-token) my application can implement authorization.
All of this was possible without having to write a single line of code to deal with each of the IdPs. However, it’s still important for the implementing applications to verify the signature on the JWT header to ensure the request hasn’t been tampered with.
Additional Resources
Of course everything we’ve seen today is also available in the the API and AWS Command Line Interface (CLI). You can find additional information on the feature in the documentation. This feature is provided at no additional charge.
With authentication built-in to ALB, developers can focus on building their applications instead of rebuilding authentication for every application, all the while maintaining the scale, availability, and reliability of ALB. I think this feature is a pretty big deal and I can’t wait to see what customers build with it. Let us know what you think of this feature in the comments or on twitter!
Макс Шремс подава оплаквания срещу Google, Facebook, Instagram и WhatsApp. Причината е, че според него е незаконен изборът, пред който са изправени потребителите им – да приемат условията на компаниите или да загубят достъп до услугите им.
Подходът “съгласи се или напусни”, казва Шремс пред Reuters Television, нарушава правото на хората съгласно Общия регламент за защита на данните (GDPR) да избират свободно дали да позволят на компаниите да използват данните им. Трябва да има избор, смята Шремс.
Шремс е австриецът, който все не е доволен от защитата на личните данни в социалните мрежи и не ги оставя на мира, като превръща борбата си за защита на данните и в професия, юрист е. Този път действа чрез създадена от него неправителствена организация noyb
Как решавате проблем като този с руската пропаганда? Как предпазвате от намеса в изборите? c|net информира за нови стъпки на интернет компаниите.
Отговорът на Facebook и Twitter е повече прозрачност относно политическата реклама: двете компании предприемат мерки да се вижда кой плаща политическа реклама. Google също се подготвя за подобна политика на прозрачност.
В САЩ има проект за закон – the Honest Ads Act – ако бъде приет, прозрачността на политическата реклама онлайн ще е законово задължение.
Текст и обяснение от сайта на Конгреса, мотивите: Законът за честните реклами би попречил на чуждестранните участници да повлияят върху нашите избори, като гарантира, че политическите реклами, продавани онлайн, ще бъдат обхванати от същите правила като рекламите, продавани по телевизията, радиото и сателита. Въвежда
изискване на цифрови платформи с най-малко 50 000 000 месечни зрители да поддържат публичен архив – всеки файл ще съдържа цифрово копие на рекламата, описание на аудиторията, която рекламата цели, броя на генерираните показвания, датите и часовете на публикуване, таксуваните тарифи и информацията за връзка на купувача;
изискване онлайн платформите да положат всички разумни усилия, за да гарантират, че чуждестранни физически и юридически лица не купуват политически реклами, за да повлияят на американския електорат.
Earlier this year on 3 and 4 March, communities around the world held Raspberry Jam events to celebrate Raspberry Pi’s sixth birthday. We sent out special birthday kits to participating Jams — it was amazing to know the kits would end up in the hands of people in parts of the world very far from Raspberry Pi HQ in Cambridge, UK.
The Raspberry Jam Camer team: Damien Doumer, Eyong Etta, Loïc Dessap and Lionel Sichom, aka Lionel Tellem
Preparing for the #PiParty
One birthday kit went to Yaoundé, the capital of Cameroon. There, a team of four students in their twenties — Lionel Sichom (aka Lionel Tellem), Eyong Etta, Loïc Dessap, and Damien Doumer — were organising Yaoundé’s first Jam, called Raspberry Jam Camer, as part of the Raspberry Jam Big Birthday Weekend. The team knew one another through their shared interests and skills in electronics, robotics, and programming. Damien explains in his blog post about the Jam that they planned ahead for several activities for the Jam based on their own projects, so they could be confident of having a few things that would definitely be successful for attendees to do and see.
Show-and-tell at Raspberry Jam Cameroon
Loïc presented a Raspberry Pi–based, Android app–controlled robot arm that he had built, and Lionel coded a small video game using Scratch on Raspberry Pi while the audience watched. Damien demonstrated the possibilities of Windows 10 IoT Core on Raspberry Pi, showing how to install it, how to use it remotely, and what you can do with it, including building a simple application.
Loïc showcases the prototype robot arm he built
There was lots more too, with others discussing their own Pi projects and talking about the possibilities Raspberry Pi offers, including a Pi-controlled drone and car. Cake was a prevailing theme of the Raspberry Jam Big Birthday Weekend around the world, and Raspberry Jam Camer made sure they didn’t miss out.
Yay, birthday cake!!
A big success
Most visitors to the Jam were secondary school students, while others were university students and graduates. The majority were unfamiliar with Raspberry Pi, but all wanted to learn about Raspberry Pi and what they could do with it. Damien comments that the fact most people were new to Raspberry Pi made the event more interactive rather than creating any challenges, because the visitors were all interested in finding out about the little computer. The Jam was an all-round success, and the team was pleased with how it went:
What I liked the most was that we sensitized several people about the Raspberry Pi and what one can be capable of with such a small but powerful device. — Damien Doumer
The Jam team rounded off the event by announcing that this was the start of a Raspberry Pi community in Yaoundé. They hope that they and others will be able to organise more Jams and similar events in the area to spread the word about what people can do with Raspberry Pi, and to help them realise their ideas.
Raspberry Jam Camer gets the thumbs-up
The Raspberry Pi community in Cameroon
In a French-language interview about their Jam, the team behind Raspberry Jam Camer said they’d like programming to become the third official language of Cameroon, after French and English; their aim is to to popularise programming and digital making across Cameroonian society. Neither of these fields is very familiar to most people in Cameroon, but both are very well aligned with the country’s ambitions for development. The team is conscious of the difficulties around the emergence of information and communication technologies in the Cameroonian context; in response, they are seizing the opportunities Raspberry Pi offers to give children and young people access to modern and constantly evolving technology at low cost.
Thanks to Lionel, Eyong, Damien, and Loïc, and to everyone who helped put on a Jam for the Big Birthday Weekend! Remember, anyone can start a Jam at any time — and we provide plenty of resources to get you started. Check out the Guidebook, the Jam branding pack, our specially-made Jam activities online (in multiplelanguages), printable worksheets, and more.
Пълният текст на заключителната декларация, в края са препоръките:
Свобода на медиите в Европа: Код червено
През 1997 г. Софийската декларация на ЮНЕСКО за свободни и плуралистични медии бе ревностен призив за напредък в контекста, в който появата на нови информационни и комуникационни технологии се считаше за нова възможност за плурализъм, икономическо и социално развитие, демокрация и мир. Сега, 21 години по-късно, независимите медии в Европа претърпяха безпрецедентен натиск. Комбинацията от различни фактори, като убийствата на журналисти и физическите заплахи срещу тях, нарастващия политически и институционален натиск, репресивното законодателство, насочено към медиите, разрушителните технологии и финансовата криза, поставят съществуването на свободните медии в редица европейски страни в риск.
Свободният достъп до разнообразна информация и мнение е не само основно право на човека, но е от съществено значение за гражданите да участват в демократичното общество. Това е основната рамка, позволяваща на хората да държат отговорни представителите на властта, за да се ограничат престъпността и корупцията, което е ключов фактор за осигуряване на функционираща демокрация.
Създаването на контролирани медии е първата стъпка към моделите на публично управление, известни като “меки диктатури” или “завладяна държава”, което създава сериозни заплахи за нормалното функциониране на демокрацията не само за съответните държави, но и за целия Европейски съюз.
Неотдавнашните събития в някои от държавите-членки на ЕС очевидно нарушават националното и международното право, когато става въпрос за защита на медийната свобода, а именно Всеобщата декларация за правата на човека, Международния пакт за граждански и политически права, Европейската конвенция за правата на човека и Хартата на основните права на Европейския съюз (ЕС). ЕС и Съветът на Европа създадоха правни процедури за защита на свободата на изразяване в Съда на Европейския съюз и Европейския съд по правата на човека. Въпреки това тези структури понякога не са достатъчни, за да поддържат и наложат основните европейски ценности и конституционните си традиции.
Бюджет на ЕС и върховенство на закона
На 2 май 2018 г. Европейската комисия предложи бюджет за периода 2021-2027 г. и изготви стратегически план за наказване на страни, за които твърди, че са нарушили основните ценности на ЕС. Планът обвързва финансирането от Европейския съюз с принципите на правовата държава, но е твърде ограничен и не споменава свободата на медиите.
Комисията предлага нов механизъм за защита на бюджета на ЕС от финансовите рискове, свързани с общите недостатъци на правовата държава в държавите-членки. Новите инструменти биха позволили на Съюза да преустанови, намали или ограничи достъпа до финансиране от ЕС по начин, който е в съответствие с вида, тежестта и обхвата на недостатъците на правовия ред. Такова решение ще бъде предложено от Комисията и ще бъде прието от Съвета чрез гласуване с квалифицирано мнозинство, което ще направи невъзможно една или две държави да блокират наказателните мерки.
Предложението се очакваше и беше направено в отговор на Полша, първата и единствена страна, която досега е обект на механизма на върховенството на закона, тъй като ЕК установи системно поведение, поставящо демокрацията в опасност. Унгария също е на радара на Комисията, където демократичните условия се влошиха, след като продължителни усилия за институционализиране на “нелибералната демокрация” в страната. Полша и България, председателстваща Съвета на ЕС, бяха сред първите държави, които реагираха отрицателно на предложения нов регламент.
Убийства и физически заплахи
Ерозията на европейския демократичен модел, тенденция, наблюдавана през последните години, продължава и става все по-тревожна. Регионът е разтърсен от две убийства и от заплахи към разследващи репортери, както и безпрецедентни вербални атаки срещу медиите. Традиционно безопасната среда за журналисти в Европа започна да се влошава. Две убийства за пет месеца, първото в Малта и второто в Словакия, показват тревожен спад за демокрациите на континента. В Малта, смъртта на журналистката и блогър Дафне Каруана Галиция, в следствие на умишлено поставена бомба в колата ѝ, повдигна завесата на съдебния тормоз и заплахи, на които постоянно са подложени журналисти от островната държава.
Каруана Галиция е била заплашвана от години и е била обект на 42 граждански и пет наказателни дела. Словакия все още е разтърсена от убийството на 27-годишния репортер, разследващ корупцията и мафията. През април италианските правоохранителни органи осуетиха подготвяното от мафията убийство на журналиста Паоло Боромети.
Икономическа устойчивост
Независимостта на медиите и свободната журналистика е възможна само ако медийните компании са икономически независими и финансово устойчиви. През 21 век издателите на печатни медии остават основните инвеститори в журналистическо съдържание и са увеличили усилия и инвестиции, за да предложат най-новите иновативни дигитални услуги за читателите в Европа и в останалата част на света. Тези постижения се оказват плодотворни, тъй като вестникарските публикации достигат до безпрецедентно висок брой читатели. Този успех само потвърждава, че бъдещето на пресата е не само дигитално, но и пълно с възможности за разширяване на читателския интерес към публикациите на вестници и списания.
За съжаление, през последното десетилетие значителна част от икономическата база на независимите медии е ерозирала. Медийните компании изпитаха двоен шок от кризата в бизнес цикъла и бизнес модела си.
Възстановяването от глобалната финансова криза в Европа беше твърде бавно и твърде скъпо и съвпадна с кризата в медийния бизнес модел. Също така, появата на дигитални платформи и глобални дигитални гиганти като Google и Facebook засили неравнопоставеността между посредниците и инвеститорите и създателите на съдържание, а именно издателите. Въпреки нарастващото търсене на новини и коментари, осигуряването на приходи от такова съдържание се оказва предизвикателство, тъй като авторското право и законите за ДДС от периода преди въвеждането на дигиталните технологии не могат да защитят инвестициите и пазарния дял, както и широкият достъп до онлайн съдържание предоставят на основните платформи лъвския дял от рекламните приходи.
Данните на Бюрото за интерактивна реклама от 2016 г. показват, че 89% от разходите за онлайн реклама са отишли за Google и Facebook, като останалите 11% са за всички останали дигитални играчи. Много предложения на ЕС, свързани с дигиталната сфера, заплашват с тежки и несправедливи съдебни и административни процедури. Като например предложения за електронна конфиденциалност, които биха дали преимущество на най-силните технологични играчи и биха въпрепятствали по-малките играчи, които са зависими от «бисквитки» и от сложно сътрудничество с трети страни, за да бъдат част от икономиката на данни.
В много страни от ЕС икономическите трудности, които медийните компании са преживели, доведоха директно до концентрация на политически контрол над медиите и засилена зависимост от правителственото финансиране. В някои случаи управляващите политически елити използват средства на правителството и ЕС, за да подкрепят лоялните медии и да манипулират общественото мнение. В тези страни обществената телевизия и радио също са загубили независимост или са под нарастващ политически натиск. На практика тези процеси доведоха до това, че големи части от медийния пазар минаха под контрола на управляващите политици и техните поддръжници за целите на пропагандата, като същевременно предприеха тежки атаки срещу малкото останали независими медии. Близо сме до карйната «цел» за безотчетна власт в някои от страните в ЕС.
Код червено за медийната свобода в държави в Европейския съюз
Полша
Изглежда нищо не е в състояние да спре “Право и справедливост”, национално-консервативната партия, спечелила изборите през октомври 2015 г., която се стреми към радикално реформиране на Полша, както сметне за подходящо, без да зачита онези, които мислят по различен начин. Свободата на медиите е една от основните жертви на техния проект. Обществените медии официално са преименувани на “национални медии” и са преобразувани в говорители на правителствената пропаганда. Техните нови ръководители не търпят нито опозиция, нито неутралност от страна на служителите и отстраняват онези, които отказват да се съобразят.
Разследващият журналист Томаш Пиатек беше заплашен с лишаване от свобода заради критиките, отправени към министъра на отбраната относно връзките му с руските разузнавателни служби и трябваше да изчака много месеци преди обвиненията да бъдат окончателно оттеглени. Съветът за радио и телевизия, който сега е под контрола на правителството, се опита да наложи глоба на частния телевизионен канал TVN за излъчване на антиправителствени послания при отразяването на вълна от протести през декември 2016 г. Впоследствие глобата беше отменена под международен натиск. На всички призиви за умереност правителството отговаря с познатите аргументи, нетърпящи несъгласие.
Унгария
Бизнесмените, които са в тесни връзки с партия «Фидес» на премиера Виктор Орбан, не само успяха да придобият нови медии през 2017 г., но и да заместят чуждестранните медийни компании, инвестирали в унгарски медии. Най-големият им успех бе поемането на контрол над последните три регионални ежедневника. Независимо от това, унгарският медиен пейзаж все още е разнообразен и печатни и онлайн издания не се колебаят да публикуват разследвания за предполагаема корупция, включваща най-влиятелните личности от Фидес и държавни служители. В Унгария съжителстват два типа медии. Единият се състои от проправителствени и про-Фидес медии, обсебени от темата за миграцията, “защитата на Унгария и нейните граници” и очернящата кампания срещу унгарско-американския милиардер филантроп Джордж Сорос.
Другият тип медии са насочени към разкриване на корупционни скандали. Оцеляването на медиите, критикуващи правителството, се дължи до голяма степен на бившия съратник на Орбан Лайош Симичка, който през февруари 2015 г. се разграничи публично от премиера и продължава да финансира медийна империя, създадена първоначално за подкрепа на Фидес. Правителството и неговите бизнес съюзници вече са се наточили на две медии – най-големият търговски канал RTL Klub и водещият политически информационен сайт Index.hu. И двете критикуват правителството.
България
През изминалите години свободата на медиите в България се влошава с тревожни темпове. Според световния индекс за свободата на медиите на Репортери без граници, България се е смъкнала със 75 позиции през последните 12 години – от 36-та през 2006 г. до 111-то през 2018 г. Налице е нарастващ политически натиск и нарастващ брой физически заплахи срещу разследващи журналисти, издатели и независими медии. Основният инструмент за упражняване на натиск е концентрацията на собственост върху медиите, икономическите зависимости и други форми на политически контрол върху по-голямата част от медийното пространство и монопол върху каналите за разпространение на медийно съдържание. Моделът включва също така силно влияние върху правителството, прокуратурата и съдебната власт, както и контрол над повечето независими регулатори. Всичко това представлява огромен политически и бизнес конгломерат, ръководен от действащия политик, бивш магистрат, бизснесмен и медиен собственик Делян Славчев Пеевски.
От 2009 г., с кратки прекъсвания, България е управлявана от ГЕРБ и техния лидер и премиер с три мандата – Бойко Борисов, който се радва на комфорт от страна на контролираните от Пеевски медии. Премиерът Борисов не само постоянно отказва да признае, че съществува заплаха за свободата на медиите, но играе ключова роля за увеличаване на достъпа на г-н Пеевски до публични ресурси, като същевременно му предоставя допълнителни институционални инструменти за репресия, включително законодателни решения, използвани срещу независимите медии.
Малта
2017-та бе белязана от бомбения атентат срещу Дафне Каруана Галиция, разследваща журналистка, която бе разкрила “мръсните тайни” на местната политика и косвено предизвика предсрочни общи избори през юни 2017 г. Години наред тя е била под нарастващ натиск заради популярността на нейния блог и работата ѝ по разплитане на местните връзки от т.нар. Досиета Панама и т.н. Към момента на убийството ѝ срещу нея вече са били заведени 42 граждански иска и пет наказателни дела за клевета. Тя също бе постоянен обект на заплахи и други форми на тормоз. Съдебният тормоз имаше за цел да я отстрани от обществения живот. Нейният случай беше класически пример за съдебни дела, в които влиятелни ищци се опитват да използват страха от огромни разходи за правна защита, за да затворят устата на критиците си. Под заплаха от страна на известни личности или бизнес групи, независимите медии са принуждавани да отстъпят и да премахнат публикации от своите сайтове.
Словакия
Убийството на разследващия репортер Ян Куцяк през февруари 2018 г. предизвика безпрецедентен политически трус в Словакия и стресна международната общност. Куцяк провеждаше разследване за уебсайта Aktuality.sk относно предполагаеми връзки между италианската мафия и Smer-SD (ляво-популистката партия, която оглавява управляващата коалиция) и предполагаемото присвояване на средства от ЕС. В недовършена статия, публикувана след смъртта му, той обвинява премиера Роберт Фицо в пряко участие.
Министрите на културата и вътрешните работи бяха принудени да подадат оставка и след големи улични протести, самият Фицо трябваше да последва примера им. Подобно на други словашки политици, Фицо бе подложен на засилени атаки в медиите. През ноември 2016 г. той описва журналистите като “мръсни антисловашки проститутки” и ги обвинява, че се опитват да възпрепятстват европейското председателство на Словакия. Така той реагира в отговор на въпрос за предполагаеми нередности в обществените поръчки, свързани с председателството. При липсата на силни институции, които биха могли да ги защитят, журналистите в Словакия все повече са изложени на всякакъв вид тормоз, сплашване и оскърбления.
Убийството на Куцяк възобнови въпросите за необяснимото изчезване на двама журналисти, единият през 2008 г., а другият през 2015 г. и отново постави въпроса за безопасността на журналистите. През последните години словашки медии, които преди това бяха собственост на водещи международни медийни компании, бяха придобити от местни олигарси, чиито основни бизнес интереси са извън журналистиката. В момента е запллашен общественият радио и телевизионен оператор RTVS, който през последните години стана символ на журналистически интегритет.
През август 2017 г. неговият генерален директор закри единствената разследваща телевизионна програма в страната, след излъчването на критичен репортаж за по-малката партия в управляващата коалиция. Правото на отговор на критично медийното отразяване, което политиците получиха от медийния закон от 2007 г., бе ограничено в изменение от 2011 г., но клеветата все още се наказва със затвор до 8 години затвор, съгласно разпоредба на Наказателния кодекс, която политиците продължават да използват за подаване на жалби срещу индивидуални журналисти и медии.
Чехия
Трудно е да си представим президент да извади огнестрелно оръжие пред журналисти, но това направи президентът на Чешката република Милош Земан на пресконференция през октомври 2017 г., размахвайки «Калашников» с надпис “за журналисти”. Преизбран през януари 2018 г., Земан има слабост към този вид провокации и многократно е описвал журналистите като “оборска тор” и “хиени”. Президентът и няколко други политически лидери наскоро засилиха вербалните си атаки срещу независимостта на обществените медии, особено на Чешката телевизия. Също така има няколко нови законопроекти, които биха увеличили обхвата на наказателните санкции за клевета, особено клеветата срещу президента. Нивото на концентрация на собственост върху медиите стана критично, тъй като новите олигарси започнаха да използват своето богатство през 2008 г., за да купуват вестници и да засилят влиянието си. Един от тези олигарси, премиерът Андрей Бабиш, притежава един от най-влиятелните ежедневници в Чехия.
Препоръки за провеждане на бъдещи политики:
1. Журналистите, издателите, НПО и други ключови заинтересовани страни трябва да обединят усилията си за подобряване на ефективността при използването на механизми за правна защита в Съда на Европейския съюз и Европейския съд по правата на човека. Една практическа идея би могла да бъде създаването на експертно юридическо лице “Фонд за защита на свободата на медиите”, който да подпомага гражданите, независимите журналисти, издателите и медийните компании при прилагането на международните закони срещу злоупотребата с власт на местните правителства. Такъв фонд би могъл също да инициира и подкрепи независими международни разследвания на случаи на медиен натиск от високопоставени личности в държавите-членки на ЕС;
2. Европейската комисия следва да разшири новопредложената разпоредба, като обвърже отпускането на средства от ЕС не само с правовата държава и върховенството на закона, но и със свободата на медиите в държавите-членки и кандидатите. Освен върховенството на закона, комисията следва също изрично да следи за спазването на местното и европейското законодателство за нарушаване на правата на човека, свободата на изразяване, гражданското общество и функционирането на демокрацията. В страни като България, Унгария и Полша репресиите срещу свободата на медиите се правят през повечето време с правни институционални инструменти, създадени от извънредно законодателство на национално ниво.
На 3 май 2018 г. Европейският парламент гласува резолюция, споед която Комисията трябва да работи за създаването на механизъм на ЕС за демокрация, върховенство на закона и основните права, придружен от независими механизми за наблюдение, които да оценят състоянието на свободата и плурализма на медиите и всички нарушения, свързани с това.
3. Медийният бизнес модел е в преход. Икономическото оцеляване на медийните компании и независимата журналистика на по-малките пазари е много трудно. Свободните медии обаче са крайъгълният камък на гражданското общество и функционирането на демокрацията. ЕС разглежда свободната преса и свободата на изразяване като “обществено благо” и трябва да разработи обществени механизми за устойчивото си финансиране, за да гарантира своята независимост. Това би могло да включва финансиране от ЕС, насочено пряко към журналисти и медийни компании в държавите-членки, като се избягва посредничеството на местното правителство;
4. Насърчаване на иновациите и подпомагане на дигиталната трансформация на медиите в ЕС. ЕС трябва да разработи по-разнообразен инструментариум, който да помогне за преодоляване на технологичните различия между европейските медийни компании и глобалните платформи. Също така, да се насърчи предприемачеството в областта на медиите и новосъздадените компании в търсене на нови, устойчиви бизнес модели и иновативни начини за осигуряване на приходи;
5. Заинтересованите страни от ЕС и държавите членкитрябва да подкрепят категорично правото на издателите във връзка с прегледа на Директивата за авторското право, за да могат издателите да прилагат по-добре своите вече съществуващи права и да спомогнат за преговорите с основните платформи. В допълнение, трябва да се оеднаквят ставките на ДДС за печатни и онлайн издания. Освен това трябва да се гарантира, че дигиталната сфера е място, където всички участници могат да успяват, като осигурят равнопоставеност и повече баланс с технологичните гиганти и платформи. Подкрепата на професионалните медии е от съществено значение за демократичния живот и просветеността на европейските граждани и единственото дългосрочно решение за противодействие на дезинформацията.
Attention, case modders: take a look at the Brutus 2, an extremely snazzy computer case with a partly transparent, animated side panel that’s powered by a Pi. Daniel Otto and Carsten Lehman have a current crowdfunder for the case; their video is in German, but the looks of the build speak for themselves. There are some truly gorgeous effects here.
Vorbestellungen ab sofort auf https://www.startnext.com/brutus2 Weitere Infos zu uns auf: https://3nb.de https://www.facebook.com/3nb.de https://www.instagram.com/3nb.de Über 3nb: – GbR aus Leipzig, gegründet 2017 – wir kommen aus den Bereichen Elektronik und Informatik – erstes Produkt: der Brutus One ein Gaming PC mit transparentem Display in der Seite Kurzinfo Brutus 2: – Markencomputergehäuse für Gaming- /Casemoddingszene – Besonderheit: animiertes Seitenfenster angesteuert mit einem Raspberry Pi – Vorteile von unserem Case: o Case ist einzeln lieferbar und nicht nur als komplett-PC o kein Leistungsverbrauch der Grafikkarte dank integriertem Raspberry Pi o bessere Darstellung von Texten und Grafiken durch unscharfen Hintergrund
What’s case modding?
Case modding just means modifying your computer or gaming console’s case, and it’s very popular in the gaming community. Some mods are functional, while others improve the way the case looks. Lots of dedicated gamers don’t only want a powerful computer, they also want it to look amazing — at home, or at LAN parties and games tournaments.
The Brutus 2 case
The Brutus 2 case is made by Daniel and Carsten’s startup, 3nb electronics, and it’s a product that is officially Powered by Raspberry Pi. Its standout feature is the semi-transparent TFT screen, which lets you play any video clip you choose while keeping your gaming hardware on display. It looks incredibly cool. All the graphics for the case’s screen are handled by a Raspberry Pi, so it doesn’t use any of your main PC’s GPU power and your gaming won’t suffer.
The software
To use Brutus 2, you just need to run a small desktop application on your PC to choose what you want to display on the case. A number of neat animations are included, and you can upload your own if you want.
So far, the app only runs on Windows, but 3nb electronics are planning to make the code open-source, so you can modify it for other operating systems, or to display other file types. This is true to the spirit of the case modding and Raspberry Pi communities, who love adapting, retrofitting, and overhauling projects and code to fit their needs.
Daniel and Carsten say that one of their campaign’s stretch goals is to implement more functionality in the Brutus 2 app. So in the future, the case could also show things like CPU temperature, gaming stats, and in-game messages. Of course, there’s nothing stopping you from integrating features like that yourself.
If you have any questions about the case, you can post them directly to Daniel and Carsten here.
The crowdfunding campaign
The Brutus 2 campaign on Startnext is currently halfway to its first funding goal of €10000, with over three weeks to go until it closes. If you’re quick, you still be may be able to snatch one of the early-bird offers. And if your whole guild NEEDS this, that’s OK — there are discounts for bulk orders.
Spencer Ackerman has this interesting story about a guy assigned to crack down on unauthorized White House leaks. It’s necessarily light on technical details, so I thought I’d write up some guesses, either as a guide for future reporters asking questions, or for people who want to better know the risks when leak information.
It should come as no surprise that your work email and phone are already monitored. They can get every email you’ve sent or received, even if you’ve deleted it. They can get every text message you’ve sent or received, the metadata of every phone call sent or received, and so forth.
To a lesser extent, this also applies to your well-known personal phone and email accounts. Law enforcement can get the metadata (which includes text messages) for these things without a warrant. In the above story, the person doing the investigation wasn’t law enforcement, but I’m not sure that’s a significant barrier if they can pass things onto the Secret Service or something.
The danger here isn’t that you used these things to leak, it’s that you’ve used these things to converse with the reporter before you made the decision to leak. That’s what happened in the Reality Winner case: she communicated with The Intercept before she allegedly leaked a printed document to them via postal mail. While it wasn’t conclusive enough to convict her, the innocent emails certainly put the investigators on her trail.
The path to leaking often starts this way: innocent actions before the decision to leak was made that will come back to haunt the person afterwards. That includes emails. That also includes Google searches. That includes websites you visit (like this one). I’m not sure how to solve this, except that if you’ve been in contact with The Intercept, and then you decide to leak, send it to anybody but The Intercept.
By the way, the other thing that caught Reality Winner is the records they had of her accessing files and printing them on a printer. Depending where you work, they may have a record of every file you’ve accessed, every intranet page you visited. Because of the way printers put secret dots on documents, investigators know precisely which printer and time the document leaked to The Intercept was printed.
Photographs suffer the same problem: your camera and phone tag the photographs with GPS coordinates and time the photograph was taken, as well as information about the camera. This accidentally exposed John McAfee’s hiding location when Vice took pictures of him a few years ago. Some people leak by taking pictures of the screen — use a camera without GPS for this (meaning, a really old camera you bought from a pawnshop).
These examples should impress upon you the dangers of not understanding technology. As soon as you do something to evade surveillance you know about, you may get caught by surveillance you don’t know about.
If you nonetheless want to continue forward, the next step may be to get a “burner phone”. You can get an adequate Android “prepaid” phone for cash at the local Walmart, electronics store, or phone store.
There’s some problems with such phones, though. They can often be tracked back to the store that sold them, and the store will have security cameras that record you making the purchase. License plate readers and GPS tracking on your existing phone may also place you at that Walmart.
I don’t know how to resolve these problems. Perhaps the best is grow a beard and on the last day of your vacation, color your hair, take a long bike/metro ride (without your existing phone) to a store many miles away and pick up a phone, then shave and change your color back again. I don’t know — there’s a good chance any lame attempt you or I might think of has already been experienced by law enforcement, so they are likely ahead of you. Maybe ask your local drug dealer where they get their burner phones, and if they can sell you one. Of course, that just means when they get caught for drug dealing, they can reduce their sentence by giving up the middle class person who bought a phone from them.
Lastly, they may age out old security videos, so simply waiting six months before using the phone might work. That means prepaying for an entire year.
Note that I’m not going to link to examples of cheap burner phones on this page. Web browsers will sometimes prefetch some information from links in a webpage, so simply including links in this page can condemn you as having interest in burner phones. You are already in enough trouble for having visited this web page.
Burner phones have GPS. Newer the technology, like the latest Android LTE phones, have pretty accurate GPS that the police can query (without a warrant). If you take the phone home and turn it on, they’ll then be able to trace back the phone to your home. Carrying the phone around with you has the same problem, with the phone’s location correlating with your existing phone (which presumably you also carry) or credit card receipts. Rumors are that Petraeus was partly brought down by tracking locations where he used his credit card, namely, matching the hotel he was in with Internet address information.
Older phones that support 3G or even 2G have poorer GPS capabilities. They’ll still located you to the nearest cell tower, but not as accurately to your exact location.
A better strategy than a burner phone would be a burner laptop computer used with WiFi. You can get a cheap one for $200 at Amazon.com. My favorite are the 11 inch ones with a full sized keyboard and Windows 10. Better yet, get an older laptop for cash from a pawn shop.
You can install chat apps on this like “Signal Desktop”, “Wire Desktop”, or “WhatsApp” that will allow you to securely communicate. Or use “Discord”, which isn’t really encrypted, but it’s popular among gamers so therefore less likely to stand out. You can sit in a bar with free WiFi and a USB headset and talk to reporters without having a phone. If the reporter you want to leak to doesn’t have those apps (either on their own laptop or phone) then you don’t want to talk to them.
Needless to say, don’t cross the streams. Don’t log onto your normal accounts like Facebook. If you create fake Facebook accounts, don’t follow the same things. Better yet, configure your browser to discard all information (especially “cookies”) every time you log off, so you can’t be tracked. Install ad blockers, or use the “Brave” web browser, to remove even more trackers. A common trick among hackers is to change the “theme” to a red background, as a constant subliminal reminder that you using your dangerous computer, and never to do anything that identifies the real you.
Put tape over the camera. I’m not sure it’s a really big danger, but put tape over the camera. If they infect you enough to get your picture, they’ve also infected you enough to record any audio on your computer. Remember that proper encryption is end-to-end (they can’t eavesdrop in transit), but if they hack the ends (your laptop, or the reporter’s) they can still record the audio.
Note that when your burner laptop is in “sleep” mode, it can still be talking to the local wifi. Before taking it home, make sure it’s off. Go into the settings and configure it so that when the lid is closed, the computer is turned completely off.
It goes without saying: don’t use that burner laptop from home. Luckily, free wifi is everyone, so the local cafe, bar, or library can be used.
The next step is to also use a VPN or Tor to mask your Internet address. If there’s an active investigation into the reporter, they’ll get the metadata, the Internet address of the bar/cafe you are coming from. A good VPN provider or especially Tor will stop this. Remember that these providers increase latency, making phone calls a bit harder, but they are a lot safer.
Remember that Ross Ulbricht (owner of dark website market Silk Road) was caught in a library. They’d traced back his Internet address and grabbed his laptop out of his hands. Having it turn off (off off, not sleep off) when the lid is closed is one way to reduce this risk. Configuring your web browser to flush all cookies and passwords on restart is another. If they catch you in mid conversation with your secret contact, though, they’ll at least be able to hear your side of the conversation, and know who you are talking to.
The best measure, though it takes some learning, is “Tails live”. It’s a Linux distribution preconfigured with Tor and various secure chat apps that’ll boot from the USB or SD card. When you turn off the computer, nothing will be saved, so there will be no evidence saved to the disk for investigators to retrieve later.
While we are talking about Tor, it should be noted that many news organizations (NYTimes, Washington Post, The Intercept, etc.) support “SecureDrop” accessed only through Tor for receiving anonymous tips. Burner laptops you use from bars from Tails is the likely your most secure way of doing things.
Summary
The point of this post was not to provide a howto guide, but to discuss many of the technological issues involved. In a story about White House people investigating leaks, I’d like to see something in this technological direction. I’d like to know exactly how they were investigating leaks. Certainly, they were investigating all work computers, accounts, and phones. Where they also able to get to non-work computers, accounts, phones? Did they have law enforcement powers? What could they do about burner phones and laptops?
In any case, if you do want a howto guide, the discussion above should put some fear into you how easily you can inadvertently make a mistake.
GDPR, или новият Общ регламент относно защитата на данните, е гореща тема, тъй като влиза в сила на 25-ти май. И разбира се, публичното пространство е пълно с мнения и заключения по въпроса. За съжаление повечето от тях са грешни. На база на наблюденията ми от последните месеци реших да извадя 7 мита за Регламента.
От края на миналата година активно консултирам малки и големи компании относно регламента, водя обучения и семинари и пиша технически разяснения. И не, не съм юрист, но Регламентът изисква познаване както на правните, така и на технологичните аспекти на защитата на данните.
1. „GDPR ми е ясен, разбрал съм го“
Най-опасното е човек да мисли, че разбира нещо след като само е чувал за него или е прочел две статии в новинарски сайт (както за GDPR така и в по-общ смисъл). Аз самият все още не твърдя, че познавам всички ъгълчета на Регламента. Но по конференции, кръгли маси, обучения, срещи, форуми и фейсбук групи съм чул и прочел твърде много глупости относно GDPR. И то такива, които могат да се оборят с „Не е вярно, виж чл. Х“. В тази категория за съжаление влизат и юристи, и IT специалисти, и хора на ръководни позиции.
От мита, че познаваме GDPR, произлизат и всички останали митове. Част от вината за това е и на самия Регламент. Дълъг е, чете се трудно, има лоши законодателни практики (3 различни хипотези в едно изречение??) и нито Европейската Комисия, нито някоя друга европейска институция си е направила труда да го разясни за хората, за които се отнася – а именно, за почти всички. Т.нар. „работна група по чл. 29 (от предишната Директива)“ има разяснения по някои въпроси, но те са също толкова дълги и трудно четими ако човек няма контекст. При толкова широкообхватно законодателство е голяма грешка то да се остави нерязяснено. Да, в него има много нюанси и много условности (което е друг негов минус), но е редно поне общите положения да бъдат разказани ясно и то от практическа гледна точка.
Така че не – да не си мислим, че сме разбрали GDPR.
2. „Личните данни са тайна“
Определението за лични данни в Регламента може би характеризира целия Регламент – трудно четима и „увъртяно“:
„лични данни“ означава всяка информация, свързана с идентифицирано физическо лице или физическо лице, което може да бъде идентифицирано („субект на данни“); физическо лице, което може да бъде идентифицирано, е лице, което може да бъде идентифицирано, пряко или непряко, по-специално чрез идентификатор като име, идентификационен номер, данни за местонахождение, онлайн идентификатор или по един или повече признаци, специфични за физическата, физиологичната, генетичната, психическата, умствената, икономическата, културната или социална идентичност на това физическо лице;
Всъщност лични данни са всичко, което се отнася за нас. Включително съвсем очевидни неща като цвят на очи и коса, ръст и т.н. И не, личните данни не са тайна. Имената ни не са тайна, ръстът ни не е тайна. ЕГН-то ни не е тайна (да, не е). Има специални категории лични данни, които могат да бъдат тайна (напр. медицински данни), но за тях има специален ред.
Разграничаването, което GDPR не прави ясно, за разлика от едно разяснение на NIST – има лични данни, на база на които хората могат да бъдат идентифицирани, и такива, с които не могат, но се отнасят за тях. По цвят на косата не можем да бъдем идентифицирани. Но цветът на косата представлява лични данни. По професия не можем да бъдем идентифицирани. (По три имена и професия обаче – евентуално може и да можем). И тук едно много важно нещо, посочено в последните изречения на съображение 26 – данни, които са лични, но не могат да бъдат отнесени към конкретно лице, и на база на които не може да бъде идентифицирано такова, не попадат в обхвата на регламента. И съвсем не са тайна – „имаме 120 клиента на възраст 32 години, които са си купили телефон Sony между Април и Юли“ е напълно окей.
Та, личните данни не са та тайни – някои даже са съвсем явни и видни. Целта на GDPR е да уреди тяхната обработка с автоматизирани средства (или полуавтоматизирани в структуриран вид, т.е. тетрадки). С други думи – кой има право да ги съхранява, за какво има право да ги използва и как трябва да ги съхранява и използва.
3. „GDPR не се отнася за мен“
Няма почти никакви изключения в Регламента. Компании под 250 души не са длъжни да водят едни регистри, а компании, които нямат мащабна обработка и наблюдение на субекти на данни нямат задължение за длъжностно лице по защита на данните (Data protection officer; тази точка е дискусионна с оглед на предложенията за изменения на българския закон за защита на личните данни, които разширяват прекалено много изискванията за DPO). Всичко останало важи за всички, които обработват лични данни. И всички граждани на ЕС имат всички права, посочени в Регламента.
4. „Ще ни глобят 20 милиона евро“
Тези глоби са единствената причина GDPR да е популярен. Ако не бяха те, на никого нямаше да му дреме за поредното европейско законодателство. Обаче заради плашещите глоби всякакви консултанти ходят и обясняват как „ами те глобите, знаете, са до 20 милиона“.
Но колкото и да се повтарят тези 20 милиона (или както някои пресоляват манджата „глоби над 20 милиона евро“), това не ги прави реалистични. Първо, има процес, който всички регулатори ще следват, и който включва няколко стъпки на „препоръки“ преди налагане на глоба. Идва комисията, установява несъответствие, прави препоръки, идва пак, установява взети ли са мерки. И ако сте съвсем недобросъвестни и не направите нищо, тогава идват глобите. И тези глоби са пропорционални на риска и на количеството данни. Не е „добър ден, 20 милиона“. Според мен 20-те милиона ще са само за огромни международни компании, като Google и Facebook, които обработват данни на милиони хора. За тетрадката с вересиите глоба няма да има (правото да бъдеш забравен се реализира със задраскване, но само ако магазинерът няма легитимен интерес да ги съхранява, а именно – да му върнете парите :)).
Тук една скоба за българското законодателство – то предвижда доста високи минимуми на глобите (10 хил. лева). Това се оспорва в рамките на общественото обсъждане и е несъразмерно на минимумите в други европейски държави и се надявам да спадне значително.
5. „Трябва да спрем да обработваме лични данни“
В никакъв случай. GDPR не забранява обработката на лични данни, просто урежда как и кога те да се обработват. Имате право да обработвате всички данни, които са ви нужни, за да си свършите работата.
Някои интернет компании напоследък обявиха, че спират работа заради GDPR, защото не им позволявал да обработват данни. И това в общия случай са глупости. Или те така или иначе са били на загуба и сега си търсят оправдание, или са били такъв разграден двор и са продавали данните ви наляво и надясно без ваше знание и съгласие, че GDPR представлява риск. Но то това му е идеята – да няма такива практики. Защото (както твърди Регламентът) това представлява риск за правата и свободите на субектите на данни (субект на данните – това звучи гордо).
6. „Трябва да искаме съгласие за всичко“
Съгласието на потребителите е само едно от основанията за обработка на данните. Има доста други и те дори са по-често срещани в реалния бизнес. Както отбелязах по-горе, ако можете да докажете легитимен интерес да обработвате данните, за да си свършите работата, може да го правите без съгласие. Имате ли право да събирате адреса и телефона на клиента, ако доставяте храна? Разбира се, иначе не може да му я доставите. Няма нужда от съгласие в този случай (би имало нужда от съгласие ако освен за доставката, ползвате данните му и за други цели). Нужно ли е съгласие за обработка на лични данни в рамките на трудово правоотношение? Не, защото Кодекса на труда изисква работодателят да води трудово досие. Има ли нужда банката да поиска съгласие, за да ви обработва личните данни за кредита? Не, защото те са нужни за изпълнението на договора за кредит (и не, не можете да кажете на банката да ви „забрави“ кредита; правото да бъдеш забравен важи само в някои случаи).
Усещането ми обаче е, че ще плъзнат едни декларации и чекбоксове за съгласие, които ще са напълно излишни…но вж. т.1. А дори когато трябва да ги има, ще бъдат прекалено общи, а не за определени цели (съгласявам се да ми обработвате данните, ама за какво точно?).
7. „Съответсвието с GDPR е трудно и скъпо“
…и съответно Регламентът е голяма административна тежест, излишно натоварване на бизнеса и т.н. Ами не, не е. Съответствието с GDPR изисква осъзната обработка на личните данни. Да, изисква и няколко хартии – политики и процедури, с които да докажете, че знаете какви лични данни обработвате и че ги обработвате съвестно, както и че знаете, че гражданите имат някакви права във връзка с данните си (и че всъщност не вие, а те са собственици на тези данни), но извън това съответствието не е тежко. Е, ако хал хабер си нямате какви данни и бизнес процеси имате, може и да отнеме време да ги вкарате в ред, но това е нещо, което по принцип e добре да се случи, със или без GDPR.
Ако например досега в една болница данните за пациентите са били на незащитен по никакъв начин сървър и всеки е имал достъп до него, без това да оставя следа, и също така е имало още 3-4 сървъра, на които никой не е знаел, че има данни (щото „IT-то“ е напуснало преди 2 години), то да, ще трябват малко усилия.
Но почти всичко в GDPR са „добри практики“ така или иначе. Неща, които са полезни и за самия бизнес, не само за гражданите.
Разбира се, синдромът „по-светец и от Папата“ започва да се наблюдава. Освен компаниите, които са изсипали милиони на юристи, консултанти, доставчици (и което накрая е имало плачевен резултат и се е оказало, че за един месец няколко човека могат да я свършат цялата тая работа) има и такива, които четат Регламента като „по-добре да не даваме никакви данни никъде, за всеки случай“. Презастраховането на големи компании, като Twitter и Facebook например, има риск да „удари“ компании, които зависят от техните данни. Но отново – вж. т.1.
В заключение, GDPR не е нещо страшно, не е нещо лошо и не е „измислица на бюрократите в Брюксел“. Има много какво да се желае откъм яснотата му и предполагам ще има какво да се желае откъм приложението му, но „по принцип“ е окей.
И както става винаги със законодателства, обхващащи много хора и бизнеси – в началото ще има не само 7, а 77 мита, които с времето и с практиката ще се изяснят. Ще има грешки на растежа, има риск (особено в по-малки и корумпирани държави) някой „да го отнесе“, но гледайки голямата картинка, смятам, че с този Регламент след 5 години ще сме по-добре откъм защита на данните и откъм последици от липсата на на такава защита.
Chris Mason and Josef Bacik led a brief discussion on the block-I/O controller for control groups (cgroups) in the filesystem track at the 2018 Linux Storage, Filesystem, and Memory-Management Summit. Mostly they were just aiming to get feedback on the approach they have taken. They are trying to address the needs of their employer, Facebook, with regard to the latency of I/O operations.
във всяко едно демократично общество медийният сектор изпълнява ключова роля; като има предвид, че отражението на икономическата криза, съчетано с едновременното разрастване на платформите на социалните медии и други високотехнологични гиганти и изключително селективните рекламни приходи, драстично повиши нестабилността на условията на труд и социалната несигурност на работещите в медиите лица, включително на независимите журналисти, водейки до драстично понижаване на професионалните и социалните стандарти и качеството на журналистиката, което може да повлияе отрицателно на тяхната редакционна независимост;
като има предвид, че Европейската аудио-визуална обсерватория на Съвета на Европа осъди възникването на цифров дуопол на Google и Facebook, представляващ до 85% от целия растеж на пазара на цифрови реклами през 2016 г., което застрашава бъдещето на традиционните финансирани от реклами медийни дружества, например търговските телевизионни канали, вестници и списания, чиято аудитория е много по-ограничена;
като има предвид, че в контекста на политиката на разширяване Комисията е длъжна да изисква пълно спазване на критериите от Копенхаген, включително свободата на изразяване на мнение и свободата на медиите, поради което ЕС следва да дава пример за най-високи стандарти в тази област; като има предвид, че когато станат член на ЕС, държавите са длъжни да спазват постоянно и безусловно задълженията в областта на правата на човека по силата на Договорите на ЕС и Хартата на основните права на ЕС, и като има предвид, че зачитането на свободата на изразяване на мнение и свободата на медиите в държавите членки следва да бъде обект на редовен контрол;
като има предвид, че ЕС може да се ползва с доверие на световната сцена единствено ако свободата на печата и медиите се защитава и зачита в рамките на самия Съюз […]
отправя над 60 препоръки към държавите и ЕК, всяка от които е самостоятелно важна.
В резолюцията са записани препоръки като:
47. предлага с оглед на ефективната защита на свободата и плурализма на медиите да се забрани, или най-малкото да стане напълно прозрачно, участието в обществени поръчки на дружества, чийто краен собственик притежава също така и медийно дружество;
предлага държавите членки да се задължат да докладват редовно за публичното финансиране, предоставяно на медийните дружества, както и да се извършва редовен мониторинг на всяко публично финансиране, предоставено на собственици на медии;
подчертава, че лица, които са били осъждани или признати за виновни в извършване на каквото и да било престъпление, не следва да бъдат собственици на медии;
48. подчертава, че всяко публично финансиране на медийни организации следва да бъде предоставяно въз основа на недискриминационни, обективни и прозрачни критерии, за които всички медии да са предварително уведомени;
49. припомня, че държавите членки следва да намерят начини за подпомагане на медиите, например като осигуряват неутралността на ДДС, както се препоръчва в неговата резолюция от 13 октомври 2011 г. относно бъдещето на ДДС и като подкрепят инициативите, свързани с медиите;
50. призовава Комисията да разпределя постоянно и подходящо финансиране в рамките на бюджета на ЕС за подкрепа на мониторинга на плурализма на медиите на Центъра за плурализъм и свобода на медиите и за създаване на годишен механизъм за оценка на рисковете за плурализма на медиите в държавите членки; […]
51. призовава Комисията да наблюдава и да събира информация и статистически данни относно свободата и плурализма на медиите във всички държави членки и да анализира отблизо случаите на нарушаване на основните права на журналистите, като същевременно спазва принципа на субсидиарност;
52. подчертава необходимостта от засилване на споделянето на най-добри практики между регулаторните органи на държавите членки в аудио-визуалната сфера;
53. призовава Комисията да вземе под внимание препоръките, съдържащи се в резолюцията на Европейския парламент от 25 октомври 2016 г. относно създаването на механизъм на ЕС за демокрацията, принципите на правовата държава и основните права; призовава Комисията да включи резултатите и препоръките от мониторинга на плурализма на медиите относно рисковете за плурализма и свободата на медиите в ЕС при изготвянето на годишния си доклад относно демокрацията, принципите на правовата държава и основните права (европейски доклад относно демокрацията, принципите на правовата държава и основните права);
54. насърчава държавите членки да активизират усилията си за укрепване на медийната грамотност и да насърчават инициативите за обучение и образование сред всички граждани чрез формално, неформално и информално образование от гледна точка на ученето през целия живот, също и като обръщат особено внимание на първоначалната и текущата подготовка и подкрепа на учителите и като насърчават диалога и сътрудничеството между сектора на образованието и обучението и всички съответни заинтересовани страни, включително работещите в сферата на медиите лица, гражданското общество и младежките организации; отново потвърждава необходимостта от оказване на подкрепа за съобразените с възрастта иновативни инструменти за насърчаване на овластяването и онлайн сигурността като задължителни елементи в учебната програма на училищата и от преодоляване на цифровото разделение както чрез специални проекти за технологична грамотност, така и чрез подходящи инвестиции в инфраструктурата, за да се гарантира всеобщият достъп до информация;
55. подчертава, че развиването на чувство за критична оценка и анализ по отношение на използването и създаването на медийно съдържание е от съществено значение, за да могат хората да вникват в актуалните проблеми и да оказват принос за обществения живот, както и за да бъдат те запознати с потенциала за промени и със заплахите, присъщи за все по-сложната и взаимосвързана медийна среда; подчертава, че медийната грамотност е основно демократично умение, което овластява гражданите; призовава Комисията и държавите членки да разработят конкретни мерки с цел насърчаване и подкрепа на проектите в областта на медийната грамотност като пилотния проект „Медийна грамотност за всички“ и да разработят цялостна политика за медийна грамотност, насочена към гражданите от всички възрастови групи и всички видове медии като неразделна част от политиката на Европейския съюз в областта на образованието, която да бъде целесъобразно подпомогната чрез съответните възможности за финансиране от ЕС, например европейските структурни и инвестиционни фондове и програмата „Хоризонт 2020“ [..]
Today, I’m pleased to announce that, as of April 24th 2018, the AWS IoT Analytics service is generally available. Customers can use IoT Analytics to clean, process, encrich, store, and analyze their connected device data at scale. AWS IoT Analytics is now available in US East (N. Virginia), US West (Oregon), US East (Ohio), and EU (Ireland). In November of last year, my colleague Tara Walker wrote an excellent post that walks through some of the features of the AWS IoT Analytics service and Ben Kehoe (an AWS Community Hero and Research Scientist at iRobot) spoke at AWS Re:Invent about replacing iRobot’s existing “rube goldberg machine” for forwarding data into an elasticsearch cluster with AWS IoT Analytics.
Iterating on customer feedback received during the service preview the AWS IoT Analytics team has added a number of new features including the ability to ingest data from external souces using the BatchPutMessage API, the ability to set a data retention policy on stored data, the ability to reprocess existing data, preview pipeline results, and preview messages from channels with the SampleChannelData API.
Let’s cover the core concepts of IoT Analytics and then walk through an example.
AWS IoT Analytics Concepts
AWS IoT Analytics can be broken down into a few simple concepts. For data preparation customers have: Channels, Pipelines, and Data Stores. For analyzing data customers have: Datasets and Notebooks.
Data Preparation
Channels are the entry point into IoT Analytics and they collect data from an existing IoT Core MQTT topic or from external sources that send messages to the channel using the Ingestion API. Channels are elastically scalable and consume messages in Binary or JSON format. Channels also immutably store raw device data for easily reprocessing using different logic if your needs change.
Pipelines consume messages from channels and allow you to process messages with steps, called activities, such as filtering on attributes, transforming the content of the message by adding or remvoing fields, invoking lambda functions for complex transformations and adding data from external data sources, or even enriching the messages with data from IoT Core. Pipelines output their data to a Data Store.
Data Stores are a queryable IoT-optimized data storage solution for the output of your pipelines. Data stores support custom retention periods to optimize costs. When a customer queries a Data Store the result is put into a Dataset.
Data Analytics
Datasets are similar to a view in a SQL database. Customers create a dataset by running a query against a data store. Data sets can be generated manually or on a recurring schedule.
Notebooks are Amazon SageMaker hosted Jupyter notebooks that let customers analyze their data with custom code and even build or train ML models on the data. IoT Analytics offers several notebook templates with pre-authored models for common IoT use cases such as Predictive Maintenance, Anomaly Detection, Fleet Segmentation, and Forecasting.
Additionally, you can use IoT analytics as a data source for Amazon QuickSight for easy visualizations of your data. You can find pricing information for each of these services on the AWS IoT Analytics Pricing Page.
IoT Analytics Walkthrough
While this walkthrough uses the console everything shown here is equally easy to do with the CLI. When we first navigate to the console we have a helpful guide telling us to build a channel, pipeline, and a data store: Our first step is to create a channel. I already have some data into an MQTT channel with IoT core so I’ll select that channel. First we’ll name the channel and select a retention period.
Now, I’ll select my IoT Core topic and grab the data. I can also post messages directly into the channel with the PutMessages APIs.
Now that I have a channel my next step is to create a pipeline. To do this I’ll select “Create a pipeline from this channel” from the “Actions” drop down.
Now, I’ll walk through the pipeline wizard giving my pipeline a name and a source.
I’ll select which of the message attributes the pipeline should expect. This can draw from the channel with the sampling API and guess at which attributes are needed or I could upload a specification in JSON.
Next I define the pipeline activities. If I’m dealing with binary data I need a lambda function to first deserialize the message into JSON so the other filter functions can operate on it. I can create filters, calculate attributes based on other attributes, and I can also enrich the message with metadata from IoT core registry.
For now I just want to filter out some messages and make a small transform with a Lambda function.
Finally, I choose or create a data store to output the results of my pipeline.
Now that I have a data store, I can create a view of that data by creating a data set.
I’ll just select all the data from the data store for this dataset but I could also select individual attributes as needed.
I have a data set! I can adjust the cron expression in the schedule to re-run this as frequently or infrequently as I wish.
If I want to create a model from my data I can create a SageMaker powered Jupyter notebook. There are a few templates that are great starting points like anomaly detection or output forecasting.
Here you can see an example of the anomaly detection notebook.
Finally, if I want to create simple visualizations of my data I can use QuickSight to bring in an IoT Analytics data set.
Let Us Know
I’m excited to see what customers build with AWS IoT Analytics. My colleagues on the IoT teams are eager to hear your feedback about the service so please let us know in the comments or on Twitter what features you want to see.
Researchers at Princeton University have released IoT Inspector, a tool that analyzes the security and privacy of IoT devices by examining the data they send across the Internet. They’ve already used the tool to study a bunch of different IoT devices. From their blog post:
Finding #3: Many IoT Devices Contact a Large and Diverse Set of Third Parties
In many cases, consumers expect that their devices contact manufacturers’ servers, but communication with other third-party destinations may not be a behavior that consumers expect.
We have found that many IoT devices communicate with third-party services, of which consumers are typically unaware. We have found many instances of third-party communications in our analyses of IoT device network traffic. Some examples include:
Samsung Smart TV. During the first minute after power-on, the TV talks to Google Play, Double Click, Netflix, FandangoNOW, Spotify, CBS, MSNBC, NFL, Deezer, and Facebookeven though we did not sign in or create accounts with any of them.
Amcrest WiFi Security Camera. The camera actively communicates with cellphonepush.quickddns.com using HTTPS. QuickDDNS is a Dynamic DNS service provider operated by Dahua. Dahua is also a security camera manufacturer, although Amcrest’s website makes no references to Dahua. Amcrest customer service informed us that Dahua was the original equipment manufacturer.
Halo Smoke Detector. The smart smoke detector communicates with broker.xively.com. Xively offers an MQTT service, which allows manufacturers to communicate with their devices.
Geeni Light Bulb. The Geeni smart bulb communicates with gw.tuyaus.com, which is operated by TuYa, a China-based company that also offers an MQTT service.
We also looked at a number of other devices, such as Samsung Smart Camera and TP-Link Smart Plug, and found communications with third parties ranging from NTP pools (time servers) to video storage services.
Their first two findings are that “Many IoT devices lack basic encryption and authentication” and that “User behavior can be inferred from encrypted IoT device traffic.” No surprises there.
В прессъобщение на Европейската комисия за резултатите от проведения на 26 април 2018 девети триалог за ревизията на Директива 2010/13/ЕС се обявява, че Европейският парламент, Съветът и Комисията са постигнали политическо съгласие относно основните елементи на ревизията.
Преговорите ще приключат официално през юни, когато Европейският парламент, Съветът и Комисията ще се срещнат, за да финализират и обсъдят последните останали технически подробности на предложението, се казва в съобщението. След официално потвърждаване от Съвета и гласуването в пленарна зала на Европейския парламент новите правила ще трябва да бъдат транспонирани в националните законодателства на държавите.
Прессъобщението очертава какво – според ЕК – е новото в преработената Директива за аудиовизуални медийни услуги (AVMSD):
принципът държава на произход се отнася както до телевизионните оператори, така и до доставчиците на услуги при поискване;
ревизирана защита на непълнолетни срещу вредно съдържание; платформите за споделяне на видеоклипове предвиждат подходящи мерки за защита на непълнолетните;
ревизираната директива се прилага и по отношение на генерираните от потребителите видеоклипове, споделени на платформи, напр. Facebook, когато предоставянето на аудиовизуално съдържание е основна функционалност на услугата;
ревизирани правила срещу речта на омразата и провокации към терористични престъпления; правилата ще се прилагат и за платформи за споделяне на видео;
най-малко 30% европейското съдържание в нелинейни услуги ;
либерализация по отношение на тв реклама – продължителност до 20% от времето за излъчване между 6:00 и 18:00 часа, при това вместо 12 минути на час (сега) – свободно решение на тв оператори кога да показват реклами през целия ден;
регулаторите – правно обособени и функционално независими от правителството и всеки друг публичен или частен орган.
Прессъобщението за резултата от триалога е публично, актуалното състояние на проекта за директива – не.
Според прессъобщението на сайта на ЕП след политическото споразумение текстът ще трябва да бъде гласуван от Комисията по култура и образование, която води преговорите от страна на ЕП. Гласуването в пленарна зала за одобряване на новите правила вероятно ще се проведе през септември.
Има и други интересни моменти, например относно прозрачност на собствеността на медиите, но текстовете все още не са окончателни.
This blog post was co-authored by Ujjwal Ratan, a senior AI/ML solutions architect on the global life sciences team.
Healthcare data is generated at an ever-increasing rate and is predicted to reach 35 zettabytes by 2020. Being able to cost-effectively and securely manage this data whether for patient care, research or legal reasons is increasingly important for healthcare providers.
Healthcare providers must have the ability to ingest, store and protect large volumes of data including clinical, genomic, device, financial, supply chain, and claims. AWS is well-suited to this data deluge with a wide variety of ingestion, storage and security services (e.g. AWS Direct Connect, Amazon Kinesis Streams, Amazon S3, Amazon Macie) for customers to handle their healthcare data. In a recent Healthcare IT News article, healthcare thought-leader, John Halamka, noted, “I predict that five years from now none of us will have datacenters. We’re going to go out to the cloud to find EHRs, clinical decision support, analytics.”
I realize simply storing this data is challenging enough. Magnifying the problem is the fact that healthcare data is increasingly attractive to cyber attackers, making security a top priority. According to Mariya Yao in her Forbes column, it is estimated that individual medical records can be worth hundreds or even thousands of dollars on the black market.
In this first of a 2-part post, I will address the value that AWS can bring to customers for ingesting, storing and protecting provider’s healthcare data. I will describe key components of any cloud-based healthcare workload and the services AWS provides to meet these requirements. In part 2 of this post we will dive deep into the AWS services used for advanced analytics, artificial intelligence and machine learning.
The data tsunami is upon us
So where is this data coming from? In addition to the ubiquitous electronic health record (EHR), the sources of this data include:
genomic sequencers
devices such as MRIs, x-rays and ultrasounds
sensors and wearables for patients
medical equipment telemetry
mobile applications
Additional sources of data come from non-clinical, operational systems such as:
human resources
finance
supply chain
claims and billing
Data from these sources can be structured (e.g., claims data) as well as unstructured (e.g., clinician notes). Some data comes across in streams such as that taken from patient monitors, while some comes in batch form. Still other data comes in near-real time such as HL7 messages. All of this data has retention policies dictating how long it must be stored. Much of this data is stored in perpetuity as many systems in use today have no purge mechanism. AWS has services to manage all these data types as well as their retention, security and access policies.
Imaging is a significant contributor to this data tsunami. Increasing demand for early-stage diagnoses along with aging populations drive increasing demand for images from CT, PET, MRI, ultrasound, digital pathology, X-ray and fluoroscopy. For example, a thin-slice CT image can be hundreds of megabytes. Increasing demand and strict retention policies make storage costly.
Due to the plummeting cost of gene sequencing, molecular diagnostics (including liquid biopsy) is a large contributor to this data deluge. Many predict that as the value of molecular testing becomes more identifiable, the reimbursement models will change and it will increasingly become the standard of care. According to the Washington Post article “Sequencing the Genome Creates so Much Data We Don’t Know What to do with It,”
“Some researchers predict that up to one billion people will have their genome sequenced by 2025 generating up to 40 exabytes of data per year.”
Although genomics is primarily used for oncology diagnostics today, it’s also used for other purposes, pharmacogenomics — used to understand how an individual will metabolize a medication.
Reference Architecture
It is increasingly challenging for the typical hospital, clinic or physician practice to securely store, process and manage this data without cloud adoption.
Amazon has a variety of ingestion techniques depending on the nature of the data including size, frequency and structure. AWS Snowball and AWS Snowmachine are appropriate for extremely-large, secure data transfers whether one time or episodic. AWS Glue is a fully-managed ETL service for securely moving data from on-premise to AWS and Amazon Kinesis can be used for ingesting streaming data.
Amazon S3, Amazon S3 IA, and Amazon Glacier are economical, data-storage services with a pay-as-you-go pricing model that expand (or shrink) with the customer’s requirements.
The above architecture has four distinct components – ingestion, storage, security, and analytics. In this post I will dive deeper into the first three components, namely ingestion, storage and security. In part 2, I will look at how to use AWS’ analytics services to draw value on, and optimize, your healthcare data.
Ingestion
A typical provider data center will consist of many systems with varied datasets. AWS provides multiple tools and services to effectively and securely connect to these data sources and ingest data in various formats. The customers can choose from a range of services and use them in accordance with the use case.
For use cases involving one-time (or periodic), very large data migrations into AWS, customers can take advantage of AWS Snowball devices. These devices come in two sizes, 50 TB and 80 TB and can be combined together to create a petabyte scale data transfer solution.
The devices are easy to connect and load and they are shipped to AWS avoiding the network bottlenecks associated with such large-scale data migrations. The devices are extremely secure supporting 256-bit encryption and come in a tamper-resistant enclosure. AWS Snowball imports data in Amazon S3 which can then interface with other AWS compute services to process that data in a scalable manner.
For use cases involving a need to store a portion of datasets on premises for active use and offload the rest on AWS, the Amazon storage gateway service can be used. The service allows you to seamlessly integrate on premises applications via standard storage protocols like iSCSI or NFS mounted on a gateway appliance. It supports a file interface, a volume interface and a tape interface which can be utilized for a range of use cases like disaster recovery, backup and archiving, cloud bursting, storage tiering and migration.
The AWS Storage Gateway appliance can use the AWS Direct Connect service to establish a dedicated network connection from the on premises data center to AWS.
Specific Industry Use Cases
By using the AWS proposed reference architecture for disaster recovery, healthcare providers can ensure their data assets are securely stored on the cloud and are easily accessible in the event of a disaster. The “AWS Disaster Recovery” whitepaper includes details on options available to customers based on their desired recovery time objective (RTO) and recovery point objective (RPO).
AWS is an ideal destination for offloading large volumes of less-frequently-accessed data. These datasets are rarely used in active compute operations but are exceedingly important to retain for reasons like compliance. By storing these datasets on AWS, customers can take advantage of the highly-durable platform to securely store their data and also retrieve them easily when they need to. For more details on how AWS enables customers to run back and archival use cases on AWS, please refer to the following set of whitepapers.
A healthcare provider may have a variety of databases spread throughout the hospital system supporting critical applications such as EHR, PACS, finance and many more. These datasets often need to be aggregated to derive information and calculate metrics to optimize business processes. AWS Glue is a fully-managed Extract, Transform and Load (ETL) service that can read data from a JDBC-enabled, on-premise database and transfer the datasets into AWS services like Amazon S3, Amazon Redshift and Amazon RDS. This allows customers to create transformation workflows that integrate smaller datasets from multiple sources and aggregates them on AWS.
Healthcare providers deal with a variety of streaming datasets which often have to be analyzed in near real time. These datasets come from a variety of sources such as sensors, messaging buses and social media, and often do not adhere to an industry standard. The Amazon Kinesis suite of services, that includes Amazon Kinesis Streams, Amazon Kinesis Firehose, and Amazon Kinesis Analytics, are the ideal set of services to accomplish the task of deriving value from streaming data.
Example: Using AWS Glue to de-identify and ingest healthcare data into S3 Let’s consider a scenario in which a provider maintains patient records in a database they want to ingest into S3. The provider also wants to de-identify the data by stripping personally- identifiable attributes and store the non-identifiable information in an S3 bucket. This bucket is different from the one that contains identifiable information. Doing this allows the healthcare provider to separate sensitive information with more restrictions set up via S3 bucket policies.
To ingest records into S3, we create a Glue job that reads from the source database using a Glue connection. The connection is also used by a Glue crawler to populate the Glue data catalog with the schema of the source database. We will use the Glue development endpoint and a zeppelin notebook server on EC2 to develop and execute the job.
Step 1: Import the necessary libraries and also set a glue context which is a wrapper on the spark context:
Step 2: Create a dataframe from the source data. I call the dataframe “readmissionsdata”. Here is what the schema would look like:
Step 3: Now select the columns that contains indentifiable information and store it in a new dataframe. Call the new dataframe “phi”.
Step 4: Non-PHI columns are stored in a separate dataframe. Call this dataframe “nonphi”.
Step 5: Write the two dataframes into two separate S3 buckets
Once successfully executed, the PHI and non-PHI attributes are stored in two separate files in two separate buckets that can be individually maintained.
Storage
In 2016, 327 healthcare providers reported a protected health information (PHI) breach, affecting 16.4m patient records[1]. There have been 342 data breaches reported in 2017 — involving 3.2 million patient records.[2]
To date, AWS has released 51 HIPAA-eligible services to help customers address security challenges and is in the process of making many more services HIPAA-eligible. These HIPAA-eligible services (along with all other AWS services) help customers build solutions that comply with HIPAA security and auditing requirements. A catalogue of HIPAA-enabled services can be found at AWS HIPAA-eligible services. It is important to note that AWS manages physical and logical access controls for the AWS boundary. However, the overall security of your workloads is a shared responsibility, where you are responsible for controlling user access to content on your AWS accounts.
AWS storage services allow you to store data efficiently while maintaining high durability and scalability. By using Amazon S3 as the central storage layer, you can take advantage of the Amazon S3 storage management features to get operational metrics on your data sets and transition them between various storage classes to save costs. By tagging objects on Amazon S3, you can build a governance layer on Amazon S3 to grant role based access to objects using Amazon IAM and Amazon S3 bucket policies.
To learn more about the Amazon S3 storage management features, see the following link.
Security
In the example above, we are storing the PHI information in a bucket named “phi.” Now, we want to protect this information to make sure its encrypted, does not have unauthorized access, and all access requests to the data are logged.
Encryption: S3 provides settings to enable default encryption on a bucket. This ensures any object in the bucket is encrypted by default.
Logging: S3 provides object level logging that can be used to capture all API calls to the object. The API calls are logged in cloudtrail for easy access and consolidation. Moreover, it also supports events to proactively alert customers of read and write operations.
Access control: Customers can use S3 bucket policies and IAM policies to restrict access to the phi bucket. It can also put a restriction to enforce multi-factor authentication on the bucket. For example, the following policy enforces multi-factor authentication on the phi bucket:
In Part 1 of this blog, we detailed the ingestion, storage, security and management of healthcare data on AWS. Stay tuned for part two where we are going to dive deep into optimizing the data for analytics and machine learning.
This post courtesy of Massimiliano Angelino, AWS Solutions Architect
Different enterprise systems—ERP, CRM, BI, HR, etc.—need to exchange information but normally cannot do that natively because they are from different vendors. Enterprises have tried multiple ways to integrate heterogeneous systems, generally referred to as enterprise application integration (EAI).
Modern EAI systems are based on a message-oriented middleware (MoM), also known as enterprise service bus (ESB). An ESB provides data communication via a message bus, on top of which it also provides components to orchestrate, route, translate, and monitor the data exchange. Communication with the ESB is done via adapters or connectors provided by the ESB. In this way, the different applications do not have to have specific knowledge of the technology used to provide the integration.
Amazon MQ used with Apache Camel is an open-source alternative to commercial ESBs. With the launch of Amazon MQ, integration between on-premises applications and cloud services becomes much simpler. Amazon MQ provides a managed message broker service currently supporting ApacheMQ 5.15.0.
In this post, I show how a simple integration between Amazon MQ and other AWS services can be achieved by using Apache Camel.
Apache Camel provides built-in connectors for integration with a wide variety of AWS services such as Amazon MQ, Amazon SQS, Amazon SNS, Amazon SWF, Amazon S3, AWS Lambda, Amazon DynamoDB, AWS Elastic Beanstalk, and Amazon Kinesis Streams. It also provides a broad range of other connectors including Cassandra, JDBC, Spark, and even Facebook and Slack.
EAI system architecture
Different applications use different data formats, hence the need for a translation/transformation service. Such services can be provided to or from a common “normalized” format, or specifically between two applications.
The use of normalized formats simplifies the integration process when multiple applications need to share the same data, as the number of conversions to be realized is N (number of applications). This is at the cost of a more complex adaptation to a common format, which is required to cover all needs from the different applications, current and future.
Another characteristic of an EAI system is the support of distributed transactions to ensure data consistency across multiple applications.
EAI system architecture is normally composed of the following components:
A centralized broker that handles security, access control, and data communications. Amazon MQ provides these features through the support of multiple transport protocols (AMQP, Openwire, MQTT, WebSocket), security (all communications are encrypted via SSL), and per destination granular access control.
An independent data model, also known as the canonical data model. XML is the de facto standard for the data representation.
Connectors/agents that allow the applications to communicate with the broker.
A system model to allow a standardized way for all components to interface with the EAI. Java Message Service (JMS) and Windows Communication Foundation (WCF) are standard APIs to interact with constructs such as queues and topics to implement the different messaging patterns.
Walkthrough
This solution walks you through the following steps:
Creating the broker
Writing a simple application
Adding the dependencies
Triaging files into S3
Writing the Camel route
Sending files to the AMQP queue
Setting up AMQP
Testing the code
Creating the broker
To create a new broker, log in to your AWS account and choose Amazon MQ. Amazon MQ is currently available in six AWS Regions:
US East (N. Virginia)
US East (Ohio)
US West (Oregon)
EU (Ireland)
EU (Frankfurt)
Asia Pacific (Sydney) regions.
Make sure that you have selected one of these Regions.
The master user name and password are used to access the monitoring console of the broker and can be also used to authenticate when connecting the clients to the broker. I recommend creating separate users, without console access, to authenticate the clients to the broker, after the broker has been created.
For this example, create a single broker without failover. If your application requires a higher availability level, check the Create standby in a different zone check box. In case the principal broker instance would fail, the standby takes over in seconds. To make the client aware of the standby, use the failover:// protocol in the connection configuration pointing to both broker endpoints.
Leave the other settings as is. The broker takes few minutes to be created. After it’s done, you can see the list of endpoints available for the different protocols.
After the broker has been created, modify the security group to add the allowed ports and sources for access.
For this example, you need access to the ActiveMQ admin page and to AMQP. Open up ports 8162 and 5671 to the public address of your laptop.
You can also create a new user for programmatic access to the broker. In the Users section, choose Create User and add a new user named sdk.
Writing a simple application
The complete code for this walkthrough is available from the aws-amazonmq-apachecamel-sample GitHub repo. Clone the repository on your local machine to have the fully functional example. The rest of this post offers step-by-step instructions to build this solution.
To write the application, use Apache Maven and the Camel archetypes provided by Maven. If you do not have Apache Maven installed on your machine, you can follow the instructions at Installing Apache Maven.
From a terminal, run the following command:
mvn archetype:generate
You get a list of archetypes. Type camel to get only the one related to camel. In this case, use the java8 example and type the following:
Maven now generates the skeleton code in a folder named as the artifactId. In this case:
camel-aws-simple
Next, test that the environment is configured correctly to run Camel. At the prompt, run the following commands:
cd camel-aws-simple
mvn install
mvn exec:java
You should see a log appearing in the console, printing the following:
[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ camel-aws-test ---
[ com.angmas.MainApp.main()] DefaultCamelContext INFO Apache Camel 2.20.1 (CamelContext: camel-1) is starting
[ com.angmas.MainApp.main()] ManagedManagementStrategy INFO JMX is enabled
[ com.angmas.MainApp.main()] DefaultTypeConverter INFO Type converters loaded (core: 192, classpath: 0)
[ com.angmas.MainApp.main()] DefaultCamelContext INFO StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
[ com.angmas.MainApp.main()] DefaultCamelContext INFO Route: route1 started and consuming from: timer://simple?period=1000
[ com.angmas.MainApp.main()] DefaultCamelContext INFO Total 1 routes, of which 1 are started
[ com.angmas.MainApp.main()] DefaultCamelContext INFO Apache Camel 2.20.1 (CamelContext: camel-1) started in 0.419 seconds
[-1) thread #2 - timer://simple] route1 INFO Got a String body
[-1) thread #2 - timer://simple] route1 INFO Got an Integer body
[-1) thread #2 - timer://simple] route1 INFO Got a Double body
[-1) thread #2 - timer://simple] route1 INFO Got a String body
[-1) thread #2 - timer://simple] route1 INFO Got an Integer body
[-1) thread #2 - timer://simple] route1 INFO Got a Double body
[-1) thread #2 - timer://simple] route1 INFO Got a String body
[-1) thread #2 - timer://simple] route1 INFO Got an Integer body
[-1) thread #2 - timer://simple] route1 INFO Got a Double body
Adding the dependencies
Now that you have verified that the sample works, modify it to add the dependencies to interface to Amazon MQ/ActiveMQ and AWS.
For the following steps, you can use a normal text editor, such as vi, Sublime Text, or Visual Studio Code. Or, open the maven project in an IDE such as Eclipse or IntelliJ IDEA.
Open pom.xml and add the following lines inside the <dependencies> tag:
The camel-aws component is taking care of the interface with the supported AWS services without requiring any in-depth knowledge of the AWS Java SDK. For more information, see Camel Components for Amazon Web Services.
Triaging files into S3
Write a Camel component that receives files as a payload to messages in a queue and write them to an S3 bucket with different prefixes depending on the extension.
Because the broker that you created is exposed via a public IP address, you can execute the code from anywhere that there is an internet connection that allows communication on the specific ports. In this example, run the code from your own laptop. A broker can also be created without public IP address, in which case it is only accessible from inside the VPC in which it has been created, or by any peered VPC or network connected via a virtual gateway (VPN or AWS Direct Connect).
First, look at the code created by Maven. The archetype chosen created a standalone Camel context run via the helper org.apache.camel.main.Main class. This provides an easy way to run Camel routes from an IDE or the command line without needing to deploy it inside a container. Apache Camel can be also run as an OSGi module, or Spring and SpringBoot bean.
package com.angmas;
import org.apache.camel.main.Main;
/**
* A Camel Application
*/
public class MainApp {
/**
* A main() so you can easily run these routing rules in your IDE
*/
public static void main(String... args) throws Exception {
Main main = new Main();
main.addRouteBuilder(new MyRouteBuilder());
main.run(args);
}
}
The main method instantiates the Camel Main helper class and the routes, and runs the Camel application. The MyRouteBuilder class creates a route using Java DSL. It is also possible to define routes in Spring XML and load them dynamically in the code.
public void configure() {
// this sample sets a random body then performs content-based
// routing on the message using method references
from("timer:simple?period=1000")
.process()
.message(m -> m.setHeader("index", index++ % 3))
.transform()
.message(this::randomBody)
.choice()
.when()
.body(String.class::isInstance)
.log("Got a String body")
.when()
.body(Integer.class::isInstance)
.log("Got an Integer body")
.when()
.body(Double.class::isInstance)
.log("Got a Double body")
.otherwise()
.log("Other type message");
}
Writing the Camel route
Replace the existing route with one that fetches messages from Amazon MQ over AMQP, and routes the content to different S3 buckets depending on the file name extension.
Reads messages from the AMQP queue named filequeue.
Processes the message and sets a new ext header using the setExtensionHeader method (see below).
Checks the value of the ext header and write the body of the message as an object in an S3 bucket using different key prefixes, retaining the original name of the file.
The Amazon S3 component is configured with the bucket name, and a reference to an S3 client (amazonS3client=#s3Client) that you added to the Camel registry in the Main method of the app. Adding the object to the Camel registry allows Camel to find the object at runtime. Even though you could pass the region, accessKey, and secretKey parameters directly in the component URI, this way is more secure. It can make use of EC2 instance roles, so that you never need to pass the secrets.
Sending files to the AMQP queue
To send the files to the AMQP queue for testing, add another Camel route. In a real scenario, the messages to the AMQP queue are generated by another client. You are going to create a new route builder, but you could also add this route inside the existing MyRouteBuilder.
package com.angmas;
import org.apache.camel.builder.RouteBuilder;
/**
* A Camel Java8 DSL Router
*/
public class MessageProducerBuilder extends RouteBuilder {
/**
* Configure the Camel routing rules using Java code...
*/
public void configure() {
from("file://input?delete=false&noop=true")
.log("Content ${body} ${headers.CamelFileName}")
.to("amqp:filequeue");
}
}
The code reads files from the input folder in the work directory and publishes it to the queue. The route builder is added in the main class:
By default, Camel tries to connect to a local AMQP broker. Configure it to connect to your Amazon MQ broker.
Create an AMQPConnectionDetails object that is configured to connect to Amazon MQ broker with SSL and pass the user name and password that you set on the broker. Adding the object to the Camel registry allows Camel to find the object at runtime and use it as the default connection to AMQP.
public class MainApp {
public static String BROKER_URL = System.getenv("BROKER_URL");
public static String AMQP_URL = "amqps://"+BROKER_URL+":5671";
public static String BROKER_USERNAME = System.getenv("BROKER_USERNAME");
public static String BROKER_PASSWORD = System.getenv("BROKER_PASSWORD");
/**
* A main() so you can easily run these routing rules in your IDE
*/
public static void main(String... args) throws Exception {
Main main = new Main();
main.bind("amqp", getAMQPconnection());
main.bind("s3Client", AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).build());
main.addRouteBuilder(new MyRouteBuilder());
main.addRouteBuilder(new MessageProducerBuilder());
main.run(args);
}
public static AMQPConnectionDetails getAMQPconnection() {
return new AMQPConnectionDetails(AMQP_URL, BROKER_USERNAME, BROKER_PASSWORD);
}
}
The AMQP_URL uses the amqps schema that indicates that you are using SSL. You then add the component to the registry. Camel finds it by matching the class type. main.bind("amqp-ssl", getAMQPConnection());
Testing the code
Create an input folder in the project root, and create few files with different extensions, such as txt, html, and csv.
Set the different environment variables required by the code, either in the shell or in your IDE as execution configuration.
If you are running the example from an EC2 instance, ensure that the EC2 instance role has read permission on the S3 bucket.
If you are running this on your laptop, ensure that you have configured the AWS credentials in the environment, for example, by using the aws configure command.
From the command line, execute the code:
mvn exec:java
If you are using an IDE, execute the main class. Camel outputs logging information and you should see messages listing the content and names of the files in the input folder.
Keep adding some more files to the input folder. You see that they are triaged in S3 a few seconds later. You can open the S3 console to check that they have been created.
To stop Camel, press CTRL+C in the shell.
Conclusion
In this post, I showed you how to create a publicly accessible Amazon MQ broker, and how to use Apache Camel to easily integrate AWS services with the broker. In the example, you created a Camel route that reads messages containing files from the AMQP queue and triages them by file extension into an S3 bucket.
Camel supports several components and provides blueprints for several enterprise integration patterns. Used in combination with the Amazon MQ, it provides a powerful and flexible solution to extend traditional enterprise solutions to the AWS Cloud, and integrate them seamlessly with cloud-native services, such as Amazon S3, Amazon SNS, Amazon SQS, Amazon CloudWatch, and AWS Lambda.
To learn more, see the Amazon MQ website. You can try Amazon MQ for free with the AWS Free Tier, which includes up to 750 hours of a single-instance mq.t2.micro broker and up to 1 GB of storage per month for one year.
Потребителите на Facebook (извън Съединените щати и Канада), независимо дали знаят или не, сега имат договор за услугата с компанията Facebook със седалище в Ирландия. Както Google, LinkedIn и други компании, Facebook също работи чрез калифорнийска и ирландска компания – Facebook Inc/Калифорния, Менло Парк u Facebook Ireland – като последното е под ирландска юрисдикция.
Facebook планира договорът c Facebook Ireland да остане валиден само за европейски потребители, т.е. 1,5 милиарда потребители от Африка, Азия, Австралия и Латинска Америка няма да попаднат в обхвата на Общия регламент за защита на данните на Европейския съюз (GDPR), който влиза в сила на 25 май 2018 г. Най-голямата онлайн социална мрежа в света намалява обхвата на прилагане на GDPR – регламентът позволява на европейските регулаторни органи да наказват компаниите за събиране или използване на лични данни без съгласието на потребителите.
Така се избягва огромен риск, пише Reuters, тъй като новият регламент позволява да се налагат глоби в размер до 4% от глобалните годишни приходи за нарушения – в случая с Facebook това означава милиарди долари.
В същото време Зукърбърг е говорил вчера на конференция в Сан Хосе, Калифорния и е казал, че въвежда нови настройки за защита на личния живот и личните данни в Европа, които в крайна сметка щели да обхванат потребителите по целия свят.”Ние не само искаме да спазваме закона, но и надхвърлим задълженията си и да изграждаме нови и по-добри практики за поверителност за всеки във Facebook”.
The collective thoughts of the interwebz
By continuing to use the site, you agree to the use of cookies. more information
The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.