This week, contributor h00die added a module that leverages a prototype pollution bug in Kibana prior to version 7.6.3. Particularly, this issue is within the Upgrade Assistant and enables an attacker to execute arbitrary code. This vulnerability can be triggered by sending a queries that sets a new constructor.prototype.sourceURL directly to Elastic or by using Kibana to submit the same queries. Note that Kibana needs to be restarted or wait for collection to happen for the payload to execute. This vulnerability doesn’t seem to be assigned a CVE. The module has been written based on a detailed description from Alex Brasetvik (alexbrasetvik) in a Hackerone report.
Torch chain attack
Our very own zeroSteiner added a module that exploits PyTorch model server by chaining multiple vulnerabilities. First, it takes advantage of a weak default configuration that binds the management interface to all IP addresses. Then, once it reaches the management interface, the module exploits a Server-Side Request Forgery vulnerability (CVE-2023-43654) to register MAR (Model Archive) model files from arbitrary servers. Finally, it leverages a vulnerability in SnakeYaml (CVE-2022-1471) that allows code execution when a YAML file is deserialized by SnakeYaml. The module embeds a malicious YAML file in a MAR file and gets an arbitrary Java class executed when this MAR file is loaded.
Updated MySQL version support
Thanks to the work of Rory McKinley, multiple MySQL modules now support authentication against newer MySQL 8.0 versions. This required a lot of effort unearthing and patching historical code across multiple contributions to the Metasploit codebase, and to the Ruby MySQL library dependency. MySQL module highlights include:
auxiliary/scanner/mysql/mysql_login – Bruteforce and manual verification of MySQL credentials
auxiliary/scanner/mysql/mysql_version – MySQL Server Version Enumeration
auxiliary/scanner/mysql/mysql_hashdump – MySQL password hashdump support
auxiliary/scanner/mysql/mysql_schemadump – Extracting MySQL schema details
auxiliary/admin/mysql/mysql_sql – Run arbitrary MySQL SQL queries against a given target
Authors: Alex Brasetvik (alexbrasetvik) and h00die
Type: Exploit
Pull request: #18417 contributed by h00die
Path: linux/http/kibana_upgrade_assistant_telemetry_rce
Description: Kibana before version 7.6.3 suffers from a prototype pollution bug within the Upgrade Assistant. By setting a new constructor.prototype.sourceURL value we’re able to execute arbitrary code in the context of the Kibana user. There is no CVE for this at the moment.
PyTorch Model Server Registration and Deserialization RCE
Authors: Gal Elbaz, Guy Kaplan, Idan Levcovich, Spencer McIntyre, and Swapneil Kumar Dash
Type: Exploit
Pull request: #18427 contributed by zeroSteiner
Path: multi/http/torchserver_cve_2023_43654
Description: This PR adds a module that exploits PyTorch TorchServer by chaining an SSRF vulnerability with a deserialization RCE vulnerability to permit an unauthenticated remote attacker arbitrary Java code execution. The PR also fixes how the ClassLoader mixin handles datastore options.
Enhancements and features (6)
#18171 from dwelch-r7 – This fixes an issue when users use a payload when framework is started with the --defer-module-loads flag set. This also adds a new feature flag option defer_module_loads which, when enabled, will defer module loads by default without the need to specify--defer-module-loads every time the framework boots. Finally, this comes with a sizable improvement on frameworks boot up time.
#18256 from jmartin-tech – Performs a routine update of multiple library dependencies.
#18296 from rorymckinley – Updates multiple MySQL modules to support authenticating with newer versions of MySQL.
#18383 from cgranleese-r7 – This adds a variety of improvements to the enum_computers module including Shell and Powershell support as well as improvements when running on non-english systems.
Bugs fixed (2)
#18411 from rtpt-erikgeiser – Fixes an issue where the services -R command generated invalid hosts such as 192.0.2.2% if an empty string was registered for the scope metadata instead of nil.
#18431 from zeroSteiner – This switches the way in which port forwarded IPs are displayed so that the local IP is listed under local and the remote IP is listed under remote.
Documentation added (1)
#18394 from errorxyz – This adds documentation for the auxiliary/scanner/http/http_traversal module.
#18435 from h00die – Fixes multiple spelling mistakes in the Wiki.
#18444 from h00die – Fixes spelling mistakes in module documentation.
You can always find more documentation on our docsite at docs.metasploit.com.
Get it
As always, you can update to the latest Metasploit Framework with msfupdate
and you can get more details on the changes since the last blog post from
GitHub:
If you are a git user, you can clone the Metasploit Framework repo (master branch) for the latest.
To install fresh without using git, you can use the open-source-only Nightly Installers or the binary installers (which also include the commercial edition).
Amazon Pinpoint offers marketers and developers one customizable tool to deliver customer communications across channels, segments, and campaigns at scale. Amazon Pinpoint makes it easy to run targeted campaigns and drive customer communications across different channels: email, SMS, push notifications, in-app messaging, or custom channels. Amazon Pinpoint campaigns enables you define which users to target, determine which messages to send, schedule the best time to deliver the messages, and then track the results of your campaign.
In many cases, the customer data resides in a third-party system such as a CRM, Customer Data Platform, Point of Sales, database and data warehouse. This customer data represents a valuable asset for your organization. Your marketing team needs to leverage each piece of this data to elevate the customer experience.
In this blog post we will demonstrate how you can leverage users’ clickstream data stored in database to build user segments and launch campaigns using Amazon Pinpoint. Also, we will showcase the full architecture of the data pipeline including other AWS services such as Amazon RDS, AWS Data Migration Service, Amazon Kinesis and AWS Lambda.
Let us understand our case study with an example: a customer currently has digital touch points such as a Website and a Mobile App to collect the users’ clickstreams and behavioral data where they are storing them in a MySQL database. Marketing teams want to leverage the collected data to deliver a personalized experience by leveraging Amazon Pinpoint capabilities.
You can find below the detail of a specific use case covered by the proposed solution:
All the clickstream and customer data are stored in MySQL DB
Your marketing team wants to create a personalized Amazon Pinpoint campaigns based on the user status and experience. Ex:
Customers who interested in specific offering to activate for them campaign based on their interest
Communicate with the preferred language of the user
Please note that this use case is used to showcase the proposed solution capabilities. However, it is not limited to this specific use case since you can leverage any customer collected dimension/attribute to create specific campaign to achieve a specific marketing use case.
In this post, we provide a guided journey on how marketers can collect, segment, and activate audience segments in real-time to increase their agility in managing campaigns.
Overview of solution
The use case covered in this post, focuses on demonstrating the flexibility offered by Amazon Pinpoint in both inbound (Ingestion) and outbound (Activation) stream of customer data. For the inbound stream, Amazon Pinpoint gives you a variety of ways to import your customer data, including:
CSV/JSON import from the AWS console
API operation to create a single or multiple endpoints
Programmatically create and execute import jobs
We will focus on building a real-time inbound stream of customer data available within an Amazon RDS MySQL database specifically. It is important to mention that similar approach can be implemented to ingest data from third-party systems if any.
For the outbound stream, activating customer data using Amazon Pinpoint can be achieved using the following two methods:
Campaign: a campaign is a messaging initiative that engages a specific audience segment.
Journey: a journey is a customized, multi-step engagement experience.
The result of customer data activation cannot be completed without specifying the targeted channel. A channel represents the platform through which you engage your audience segment with messages. For example, Amazon Pinpoint customers can optimize how they target notifications to prospective customers through LINE message and email. They can deliver notifications with more information on prospected customer’s product information such as sales, new products etc. to the appropriate audience.
Amazon Pinpoint supports the following channels:
Push notifications
Email
SMS
Voice
In-app messages
In addition to these channels, you can also extend the capabilities to meet your specific use case by creating custom channels. You can use custom channels to send messages to your customers through any service that has an API including third-party services. For example, you can use custom channels to send messages through third-party services such as WhatsApp or Facebook Messenger. We will focus on developing an Amazon Pinpoint connector using custom channel to target your customers on third-party services through API.
The below diagram illustrates the proposed architecture to address the use case. Moving from left to right:
Fig 1: Architecture Diagram for the Solution
Amazon RDS: This hosts customer database where you can have one or many tables contains customer data.
AWS Data Migration Service (DMS): This acts as the glue between Amazon RDS MySQL and the downstream services by replicating any transformation that happens at the record level in the configured customer tables.
Amazon Kinesis Data Streams: This is the destination endpoint for AWS DMS. It will carry all the transformed records for the next stage of the pipeline.
AWS Lambda (inbound): The inbound AWS Lambda triggers the Kinesis Data Streams, process the mutated records, and ingest them in Amazon Pinpoint.
Amazon Pinpoint: This act as the centralized place to define customer segments and launch campaigns.
AWS Lambda (outbound): This act as the custom channel destination for the campaigns activated from Amazon Pinpoint.
To illustrate how to set up this architecture, we’ll walk you through the following steps:
Deploying an AWS CDK stack to provision the following AWS Resources
Run a Sample Workflow – This workflow will run an AWS Glue PySpark job that uses a custom Python library, and an upgraded version of boto3.
Cleaning up your resources.
Prerequisites
Make sure that you complete the following steps as prerequisites:
Have an AWS account. For this post, you configure the required AWS resources using AWS CloudFormation. If you haven’t signed up, complete the following tasks:
Some of the AWS Services or service features are not available in all regions. Therefore, we suggest to deploy the solution architecture in one of the regions below:
Step 2: Change directories to the new directory code location:
cd amazon-pinpoint-realtime-campaign-optimization-example
Step 3: Update your AWS account number and region:
Edit config.py with your choice to tool or command line
look for section “Account Setup” and update your account number and region
Fig 2: Configuring config.py for account-id and region
look for section “VPC Parameters” and update your VPC and subnet info
Fig 3: Configuring config.py for VPC and subnet information
Step 4: Verify if you are in the directory where app.py file is located:
ls -ltr app.py
Step 5: Create a virtual environment:
macOS/Linux:
python3 -m venv .env
Windows:
python -m venv .env
Step 6: Activate the virtual environment after the init process completes and the virtual environment is created:
macOS/Linux:
source .env/bin/activate
Windows:
.env\Scripts\activate.bat
Step 7: Install the required dependencies:
pip3 install -r requirements.txt
Step 8: Bootstrap the cdk app using the following command:
cdk bootstrap aws://<AWS_ACCOUNTID>/<AWS_REGION>
Replace the place holder AWS_ACCOUNTID and AWS_REGION with your AWS account ID and the region to be deployed. This step provisions the initial resources, including an Amazon S3 bucket for storing files and IAM roles that grant permissions needed to perform deployments.
Fig 4: Bootstrapping CDK environment
Please note, if you have already bootstrapped the same account previously, you cannot bootstrap account, in such case skip this step or use a new AWS account.
Step 9: Make sure that your AWS profile is setup along with the region that you want to deploy as mentioned in the prerequisite. Synthesize the templates. AWS CDK apps use code to define the infrastructure, and when run they produce or “synthesize” a CloudFormation template for each stack defined in the application:
cdk synthesize
Step 10: Deploy the solution. By default, some actions that could potentially make security changes require approval. In this deployment, you’re creating an IAM role. The following command overrides the approval prompts, but if you would like to manually accept the prompts, then omit the –require-approval never flag:
cdk deploy "*" --require-approval never
While the AWS CDK deploys the CloudFormation stacks, you can follow the deployment progress in your terminal.
Fig 5: AWS CDK Deployment progress in terminal
Once the deployment is successful, you’ll see the successful status as follows:
Fig 6: AWS CDK Deployment completion success
Step 11: Log in to the AWS Console, go to CloudFormation, and see the output of the ApplicationStack:
Fig 7: AWS CloudFormation stack output
Note the values of PinpointProjectId, PinpointProjectName, and RDSSecretName variables. We’ll use them in the next step to upload our artifacts
Testing The Solution
In this section we will create a full data flow using the below steps:
Ingest data in the customer_tb table within the Amazon RDS MySQL DB instance
Validate that AWS Data Migration Service created task is replicating the changes to the Amazon Kinesis Data Streams
Validate that endpoints are created within Amazon Pinpoint
Create Amazon Pinpoint Segment and Campaign and activate data to Webhook.site endpoint URL
Step 1: Connect to MySQL DB instance and create customer database
Environment type: Create a new EC2 instance for environment (direct access)
Instance type: t2.micro
Timeout: 30 minutes
Platform: Amazon Linux 2
Network settings under VPC settings select the same VPC where the MySQL DB instance was created. (this is the same VPC and Subnet from step 3.3)
Click Next
Review and click Create environment
Select the created AWS Cloud9 from the AWS Cloud9 console at https://console.aws.amazon.com/cloud9 and click Open in Cloud9. You will have access to AWS Cloud9 Linux shell.
From Linux shell, update the operating system and :
sudo yum update -y
From Linux shell, update the operating system and :
sudo yum install -y mysql
To connect to the created MySQL RDS DB instance, use the below command in the AWS Cloud9 Linux shell:
mysql -h <<host>> -P 3308 --user=<<username>> --password=<<password>>
To get values for dbInstanceIdentifier, username, and password
Open the secret with the name created by the CDK application
Select ‘Reveal secret value’ and copy the respective values and replace in your command
After you enter the password for the user, you should see output similar to the following.
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 27
Server version: 8.0.32 Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
Step 2: Ingest data in the customer_tb table within the Amazon RDS MySQL DB instance Once the connection to the MySQL DB instance established, using the same AWS Cloud9 Linux shell connected to the MySQL RDS DB execute following commands.
Create database pinpoint-test-db:
CREATE DATABASE `pinpoint-test-db`;
Create table customer-tb:
Use `pinpoint-test-db`;
CREATE TABLE `customer_tb` (`userid` int NOT NULL,
`email` varchar(150) DEFAULT NULL,
`language` varchar(45) DEFAULT NULL,
`favourites` varchar(250) DEFAULT NULL,
PRIMARY KEY (`userid`);
You can verify the schema using the below SQL command:
DESCRIBE `pinpoint-test-db`.customer_tb;
Fig 8: Verify schema for customer_db table
Insert records in customer_tb table:
Use `pinpoint-test-db`;
insert into customer_tb values (1,'[email protected]','english','football');
insert into customer_tb values (2,'[email protected]','english','basketball');
insert into customer_tb values (3,'[email protected]','french','football');
insert into customer_tb values (4,'[email protected]','french','football');
insert into customer_tb values (5,'[email protected]','french','basketball');
insert into customer_tb values (6,'[email protected]','french','football');
insert into customer_tb values (7,'[email protected]','french',null);
insert into customer_tb values (8,'[email protected]','english','football');
insert into customer_tb values (9,'[email protected]','english','football');
insert into customer_tb values (10,'[email protected]','english',null);
Verify records in customer_tb table:
select * from `pinpoint-test-db`.`customer_tb`;
Fig 9: Verify data for customer_db table
Step 3: Validate that AWS Data Migration Service created task is replicating the changes to the Amazon Kinesis Data Streams
Click on Amazon Pinpoint Project Demo created by CDK stack “dev-pinpoint-project”
from the left menu, click on Segments and click Create a segment
create Segment using the below configurations:
Name: English Speakers
Under criteria:
Attribute: Language
Operator: Conatins
Value: english
Fig 14: Amazon Pinpoint segment summary
Click create segment
Step 5.2: Create Amazon Pinpoint Campaign
from the left menu, click on Campaigns and click Create a campaign
set the Campaign name to test campaign and select Custom option for Channel as shown below:
Fig 15: Amazon Pinpoint create campaign
Click Next
Select English Speakers from Segment as shown below and click Next:
Fig 16: Amazon Pinpoint segment
Choose Lambda function channel type and select outbound lambda function with name pattern as ApplicationStack-lambdaoutboundfunction* from the dropdown as shown below:
Fig 17: Amazon Pinpoint message creation
Click Next
Choose At a specific time option and immediately to send the campaign as show below:
Fig 18: Amazon Pinpoint campaign scheduling
If you push more messages or records into Amazon RDS (from step 2.4), you will need to create a new campaign (from step 4.2) to process the new messages.
Click Next, review the configuration and click Launch campaign.
Navigate to dev-pinpoint-project and select the campaign created in previous step. You should see status as ‘Complete’
Fig 19: Amazon Pinpoint campaign processing status
Navigate to dev-pinpoint-project dashboard and select your campaign in ‘Campaign metrics’ dashboard, you will see the statistics for the processing.
Fig 20: Amazon Pinpoint campaign metrics
Accomplishments
This is a quick summary of what we accomplished:
Created an Amazon RDS MySQL DB instance and define customer_tb table schema
Created an Amazon Kinesis Data Stream
Replicated database changes from the Amazon RDS MySQL DB to Amazon Kinesis Data Stream
Created an AWS Lambda function triggered by Amazon Kinesis Data Stream to ingest database records in Amazon Pinpoints as User endpoints using AWS SDK
Created an Amazon Pinpoint Project, segment and campaign
Created an AWS Lambda function as custom channel for Amazon Pinpoint campaign
Tested end-to-end data flow from Amazon RDS MySQL DB instance to third party endpoint
Next Steps
You have now gained a good understanding of Amazon Pinpoint agnostic data flow but there are still many areas left for exploration. What this workshop hasn’t covered is the operation of other communication channels such as Email, SMS, Push notification and Voice outbound. You can enable the channels that are pertinent to your use case and send messages using campaigns or journeys.
Clean Up
Make sure that you clean up all of the other AWS resources that you created in the AWS CDK Stack deployment. You can delete these resources via the AWS CDK Destroy command as follows or the CloudFormation console.
To destroy the resources using AWS CDK, follow these steps:
Follow Steps 1-5 from the ‘Launching your CDK Stack’ section.
Destroy the app by executing the following command:
cdk destroy
Summary
In this post, you have now gained a good understanding of Amazon Pinpoint flexible real-time data flow. By implementing the steps detailed in this blog post, you can achieve a seamless integration of your customer data from Amazon RDS MySQL database to Amazon Pinpoint where you can leverage segments and campaigns to activate data using custom channels to third-party services via API. The demonstrated use case focuses on Amazon RDS MySQL database as a data source. However, there are still many areas left for exploration. What this post hasn’t covered is the operation of integrating customer data from other type of data sources such as MongoDB, Microsoft SQL Server, Google Cloud, etc. Also, other communication channels such as Email, SMS, Push notification and Voice outbound can be used in the activation layer. You can enable the channels that are pertinent to your use case and send messages using campaigns or journeys, and get a complete view of their customers across all touchpoints and can lead to less relevant marketing campaigns.
About the Authors
Bret Pontillo is a Senior Data Architect with AWS Professional Services Analytics Practice. He helps customers implement big data and analytics solutions. Outside of work, he enjoys spending time with family, traveling, and trying new food.
Rushabh Lokhande is a Data & ML Engineer with AWS Professional Services Analytics Practice. He helps customers implement big data, machine learning, and analytics solutions. Outside of work, he enjoys spending time with family, reading, running, and golf.
Ghandi Nader is a Senior Partner Solution Architect focusing on the Adtech and Martech industry. He helps customers and partners innovate and align with the market trends related to the industry. Outside of work, he enjoys spending time cycling and watching formula one.
The primary job of a compiler is to translate source code into a binary
form that can be run by a computer. Increasingly, though, developers want
more from their tools, compilers included. Since the compiler must
understand the code it is being asked to translate, it is in a good
position to provide information about how that code will execute — and
where things might go wrong. At the 2023 GNU Tools Cauldron,
David Malcolm talked about recent work to improve the diagnostic output
from the GCC compiler.
Version
23.10 of the Ubuntu distribution is out. Changes include support for
hardware-backed full-disk encryption, tighter control over user namespaces,
a new App Center application, and more.
Version
23.05.0 of the OpenWrt distribution has been released: “OpenWrt
23.05 supports over 1790 devices. Support for over 200 new devices was
added in addition to the device support by OpenWrt 22.03“. Along with
new device support, this release features a switch to the mbedtls
cryptographic library, the ability to include utilities written in Rust, an
updated toolchain, and more.
Security updates have been issued by Debian (chromium, tomcat9, and webkit2gtk), Fedora (cacti, cacti-spine, grafana-pcp, libcue, mbedtls, samba, and vim), Oracle (kernel, libvpx, and thunderbird), Red Hat (bind and galera, mariadb), SUSE (exiv2, go1.20, go1.21, and kernel), and Ubuntu (ffmpeg).
Всеки път, когато българските синдикати скачат, а лидерите им напускат добре уредените си кабинети на бюрократи, за да се включат в хореографията със знамената и свирките, светва червена лампа: „Този път за(д) кого?“
Този път зад т.нар. опозиция – извънпарламентарната „Левицата“, също и БСП и „Възраждане“, поискали в разгара на предизборната кампания за местни избори вот на недоверие на кабинета на ПП–ДБ заради провал в сектор „Eнергетика“. Но синдикатите обслужиха и вътрешната опозиция в мнозинството – ГЕРБ и ДПС, които също недоволстват от политиките на управляващите, но няма да развалят сглобката. Неслучайно при трите кабинета на ГЕРБ и Бойко Борисов ярки профсъюзни протести нямаше, ако не броим редовното годишно недоволство на полицаите от заплатите.
Сега кулминацията на 14-дневните протести и блокади на миньори и енергетици от въглищната индустрия беше не националният протест, готвен за 12 октомври, а политическият инструмент – вотът на недоверие, дебатите по който се състояха в същия ден. И ето, КНСБ и КТ „Подкрепа“ обявиха, че нямат решение за участие в националния протест в защита на въгледобива, макар че техни представители излязоха на няколко места в страната. Политическата им обвързаност не е тайна, БНТ разкри имена на активни в протестите синдикалисти в листи за общински съветници на „Левицата“, на „Възраждане“ и БСП.
Странен вот на недоверие, както го определи по БНР главният икономист на Центъра за изследване на демокрацията Руслан Стефанов.
Странен, защото реално няма някаква промяна в политиката в тази сфера от 2005 г. насам. Просто дойде моментът на решение, когато повече не може да се отлага, защото страната ще губи средства.
За политици и за синдикати няма и капка съмнение, че въглищната индустрия си отива. Знаят го отдавна. КНСБ и КТ „Подкрепа“ са партньори на всяко правителство, участват в Националния съвет за тристранно сътрудничество, в безброй консултации и браншови съвети, работят в дружествата и са наясно с огромните загуби. Пазарът не иска скъпия ток от въглищата и индустрията може още малко да оцелее на изкуствено дишане – държавата е в състояние да я подпомага до 2025 г. Но вината на синдикатите пред онези, които им плащат членски внос и очакват от тях защита, е, че не си мръднаха пръста при управлението на ГЕРБ и Бойко Борисов да поискат информационна кампания и разяснения при подготовката на териториалните планове, да отстояват правото на хората да са наясно какво бъдеще ги очаква. Главното – да не им спестят истината, че трансформацията ще е болезнена, и с тяхна помощ да опитат да я проведат по-леко.
В Благоевград лидерът на КНСБ Пламен Димитров направи неумел опит да разграничи синдикалното от политическото:
Оттук нататък въпросът е кой и дали иска да употреби миньорите. Политическият елемент на употреба според мен е доста сериозен. Толкова силна партийна зависимост в синдикален протест не е имало от времето на Луканов.
Затова пък в синдикалните протести неизменно присъства корпоративната зависимост. Било от бос като Христо Ковачки, чиито бизнеси във въглищната индустрия се водят собственост на офшорки, било от други.
Българските синдикати не спасяват работници
Синдикатите не надигаха глас срещу нарушенията в мини и тецове на Ковачки, като забавени възнаграждения, натрупани дългове, в т.ч. и милиони за осигуровки, част от които правителствата разсрочваха.
Синдикалните протести в България не спасиха „Кремиковци“, но попречиха да го вземе стратегически инвеститор – защото играха с Валентин Захариев, който запази позициите на синдикатите (а те имаха думата дори кой да държи лавките в комбината). В определения за ликвидация комбинат, преди Захариев да го купи за 1 лев, работеха над 15 000 души – колкото са заетите във въглищната индустрия.
Синдикатите не спасиха от затваряне и уранодобивната и оловно-цинковата индустрия, но протестите на докараните в София миньори свалиха правителството на Филип Димитров през 1992 г.
Синдикалните протести не позволиха „Булгартабак“ да бъде продаден на стратегически инвеститор като British American Tobacco, а вместо това попадна в ръцете на Пеевски и сие, които му видяха сметката за шест години.
На теория целта на синдикалното движение е трансформация от капитализъм в изграждане на безкласово общество – някакъв вид либертариански социализъм с работническо самоуправление на индустрията. Химера. В България я опаковаха на два пъти като политико-икономическа оферта – един път със зелените бонови книжки от масовата приватизация, втори път с т.нар. работническо-мениджърска приватизация. И в двата случая работниците пиха по една студена вода, нацията от акционери не се състоя, а определени лица прибраха цели предприятия срещу смешни суми и няколко чувала със зелени книжки.
На пръв поглед синдикатите си подхождат с „Левицата“ и БСП. Все пак в биографичен план левите и профсъюзите имат едно и също работническо ДНК, но синдикатите постепенно се бюрократизират, а левицата става хайверна. Профсъюзите се сдобиват с платена йерархия и с партньори в лицето на представителите на капитала и политиците и вече избягват да рискуват с унищожителни стачки, за да не изгуби платената администрация привилегиите си.
Синдикатите изостават от социалната структура на обществото, която е силно променена – „бели якички“, служители в корпорации и държавни чиновници, работническа класа, прекариат – трудови мигранти без постоянна работа, а следователно и без съответните социални гаранции и кариерно развитие, а наред с тях едри и дребни предприемачи и др. Ако искат да оцелеят, профсъюзите също се нуждаят от болезнена трансформация – на първо място, от солидарност между самите работници, които да поискат да се самоорганизират в нов тип съюзи в името на радикална социална промяна.
На българските синдикати и така им е добре. Превърнали са се в административен придатък на управлението.
След като вотът на недоверие премина, блокадите на магистрали са свалени, а синдикалните знамена – свити. Политическата задача е изпълнена с внушенията, че правителството на ПП–ДБ е застрашило енергийната сигурност на България и така е предало националните интереси. Сега профсъюзните деятели имат значително по-прагматични цели – да се включат в преквалификацията на работниците от въглищната индустрия (бизнес, в който са умели), също и в предприятието за рекултивация на терените (става въпрос за 250 кв.км в Маришкия басейн), където ще се съсредоточат значителни ресурси. И за двете се предвиждат стотици милиони европейски средства.
Октомври идва с вълнуващи новини от научния свят, свързани с обявяването на Нобеловите награди – едно от най-престижните признания за учените и своеобразно тържество на познанието, което ни позволява да надникнем в лабораториите и да разберем върху какво работят изследователите.
По традиция лауреатите се обявяват в началото на октомври, а церемонията за връчване на наградите ще се проведе на 10 декември – датата на смъртта на техния учредител Алфред Нобел.
Наградата за медицина/физиология е присъдена на Каталин Карико и Дрю Вайсман за работата им по модификацията на нуклеозиди, която промени изцяло разбирането ни как информационната РНК (иРНК) взаимодейства с имунната система. Това откритие даде път за разработката на първите иРНК ваксини срещу COVID-19 през 2020 г.
Преди пандемията от 2019 г. създаването на ваксини беше дълъг и труден процес, свързан с доста технологични стъпки. Класическият подход е използването на инактивиран вирус, който не е патогенен, но може да бъде разпознат от имунната система. С напредъка в молекулярната биология и биотехнологиите са разработени ваксини, съдържащи само отделни вирусни компоненти, което драстично намалява риска от грешка в производството и от заразяване на ваксинираните. За целта се взема генетичната последователност, кодираща частта на вируса, към която учените искат да създадат имунитет (най-често капсидната обвивка на вируса), и от нея се синтезира т.нар. рекомбинантен протеин. Този тип ваксини се понасят много добре от организма и може да се прилагат и при хора с отслабена имунна система. Техен недостатък е нуждата от реимунизации.
Друг вид са векторните ваксини – при тях се използва вирус, който е „обезвреден“ чрез премахване на патогенната му способност, и в него е вмъкната генетичната последователност, описана по-горе. След като този вирус ни „зарази“, в клетките ни започват да се произвеждат части от капсида на вируса, срещу който е ваксината. Пример за това е вече добре познатата ваксина на AstraZeneca срещу COVID-19. Въпреки впечатляващите подобрения в технологиите за бързото производство на обеми, достатъчни за справяне с пандемия, са нужни сериозни мощности, които не бяха налични през 2020 г.
Информационната РНК е „матрицата“, по която се изработват протеините в човешкото тяло (както и в почти всички живи организми на планетата). Технологиите за получаване на иРНК в лабораторни условия без използването на клетки (инвитротранскрипция) започват развитието си през 80-те години на миналия век. Още тогава се появяват идеи за приложението на синтетична иРНК в медицината, но учените срещат спънка: клетките на гостоприемника дават силен възпалителен отговор. Въпреки това Карико още тогава смята, че иРНК има терапевтичен потенциал, и когато се запознава с нов колега в Университета на Пенсилвания – имунолога Дрю Вайсман, започва сътрудничество, което ще се окаже много продуктивно.
Един от обектите, към които Вайсман проявява интерес, са дендритните клетки – те са част от имунната система и имат роля при активацията на имунен отговор към ваксини. След като започват да работят заедно, Карико и Вайсман откриват, че тези клетки имат очаквана реакция към стандартната инвитро иРНК, но не и към иРНК от бозайник, която приемат без проблем. Една от спецификите на втората е, че някои от съставните ѝ части са модифицирани. След като правят химична модификация в една от нуклеозидните бази на синтетичната иРНК, сходна с тази при бозайниците, възпалителният отговор на дендритните клетки почти изчезва. Двамата учени осъзнават, че това е липсващото парче от пъзела и потенциалът за терапевтично приложение може да се разгърне. В последващите им разработки се установява, че количеството на отделените протеини в клетките се увеличава вследствие на модификацията. Скоро след публикуването на тези данни започва разработването на иРНК ваксини срещу зика и MERS-CoV.
Това се оказва ключово при избухването на епидемията от COVID-19, защото технологията позволява бързо да се разработи ваксина срещу вируса. Само година след началото на пандемията резултатите са впечатляващи – 95% ефективност на защитата. Успехът потвърждава тезата на Карико, че иРНК терапиите могат да бъдат незаменими в медицината въпреки скептицизма на немалко нейни колеги, и дава поле за пълното разгръщане на потенциала им. BioNTech – компанията, разработила първата одобрена иРНК ваксина (срещу SARS-CoV-2), в момента работи по осем нови (сред тях срещу инфлуенца, туберкулоза и малария), а в Moderna, другата компания с иРНК ваксина срещу заболяването, също тече активна развойна дейност върху над 20 различни терапии.
Освен срещу вируси, технологията позволява да се създадат ваксини и срещу бактерии, както и срещу някои видове ракови заболявания. Изследва се и възможността за удължаване на теломерите, чието скъсяване може би има връзка със стареенето. Възможността за вмъкване на иРНК и синтез на нови протеини съдържа огромен потенциал, който предстои да бъде използван в пълен мащаб. Много е вероятно откритието на Карико и Вайсман, което вече заслужено се описва като историческо, тепърва да донесе много изненади.
Наградата за физика е присъдена на Пиер Агостини, Ференц Краус и Ан Л’Юийе за внедряването на нови подходи за изследване на света на електроните в атомите и молекулите. Тримата учени са открили начин за излъчване на изключително къси импулси светлина, които могат да се използват за мигновените процеси на движение на електроните или за преминаването им в различни енергийни нива.
Човешкото възприятие е сравнително бързо – зрителната ни система може да различи отделни премигвания на светлина с честота между 50 и 90 Hz. При птиците зрението е още по-развито, като един от рекордите е при жалобната мухоловка, която може да различава светлинни импулси с честота, достигаща 145 Hz, почти три пъти по-бързо от нас. Това е и една от причините гълъбите, които стоят на пътя ни, да излитат в последния възможен момент. Тяхното зрение е толкова бързо, че за тях ние се движим на забавен каданс. Най-вероятно има и доза мързел и арогантност.
Но дори и за жалобната мухоловка движението на електроните ще бъде абсолютно размазано и неясно. При тях промените стават за части от атосекундата. Атосекундата е с продължителност една квинтилионна от секундата (10-18) – толкова кратка, че в една секунда се съдържат толкова атосекунди, колкото секунди са изминали от създаването на Вселената при Големия взрив преди 13,8 млрд. години.
Тази скорост кара Вернер Хайзенберг (известен с принципа на неопределеност) да изкаже през 1925 г. мнението, че светът на електроните ще остане недостижим за науката. Все пак технологиите напредват и през 80-те години на миналия век са изобретени лазери, които могат да произвеждат импулси с продължителност от порядъка на фемтосекунди (в една фемтосекунда има 1000 атосекунди), с помощта на които може да се наблюдава движението на „тежките и бавни“ атомни ядра.
През 1987 г. Ан Л’Юийе открива, че при преминаването на светлината от инфрачервен лазер през инертен газ се получават много обертонове на светлината – всеки от тях с по-бързо трептене от основната честота на лазера, подобно на обертоновете при струнните инструменти. Това се дължи на взаимодействия на светлината с атомите на газа, придаващи на електроните в тях допълнителна енергия, която впоследствие се излъчва като светлинни вълни. При определени условия те се наслагват, като усилват интензитета на лазерната светлина и я карат да пулсира с период от няколкостотин атосекунди.
Благодарение на продължаващата работа на изследователката през 2001 г. Пиер Агостини успява да получи пулсираща светлина в порядъка на атосекунди. Екипът му постига това, като раздвоява лазерния лъч. След като единият новополучен лъч се пропусне през интернет газ, той започва да пулсира. При събирането на двата лъча получените импулси са с продължителност 250 атосекунди. Междувременно, избирайки различен експериментален подход, Ференц Краус успява да изолира единичен светлинен импулс с продължителност 650 атосекунди, използвайки го да проследи как електроните се отделят от атомите.
Благодарение на постиженията на лауреатите вече можем да наблюдаваме някои изключително бързи процеси в ядрата на атомите – нещо, което доскоро беше невъзможно. За момента изглежда, че основното приложение на откритията ще бъде във фундаменталната наука за изследване на движението на електроните между атоми и изучаване на протичането на химични реакции на атомно ниво. Въпреки това потенциал има и за приложната наука и технологиите. В електрониката биха могли да бъдат използвани за изучаване и контролиране на движението на електроните в даден материал, което би било полезно за производството на по-добри полупроводници. С помощта на атосекундните импулси може да се определят и най-различни молекули, което би имало приложение във фундаменталните и приложните изследвания, както и в медицината.
Третата присъдена награда е в областта на химията, където победители са Мунги Бавенди, Луис Брус и Алексей Екимов за откритието и синтеза на квантовите точки. Те са изключително малки полупроводникови частици с диаметър от няколко нанометра. Благодарение на тези малки мащаби при тях се проявяват квантови ефекти, които им придават подобрени електрически и оптични свойства. При осветяването им квантовите точки излъчват ярка светлина, чийто цвят зависи от размера на частиците – по-големите излъчват по-червена, а по-малките – по-синя, което позволява с регулиране на размера им да се контролира цветът на светлината, която излъчват.
За възможността за възникване на квантови ефекти в зависимост от размера на частиците учените предполагат още от откриването на квантовата механика. Въпреки че в лабораторни условия може да се създават материали, покрити с тънкослойни квантови точки, за това се изискват изключително висок вакуум и много ниска температура, което е пречка за индустриалното производство.
Първият пробив е в началото на 80-те години на миналия век, когато Екимов установява, че при вариране на температурата и времето за нагряване при добавяне на меден хлорид, в стъклото се получават частици с различен размер, които променят цвета му. Това донякъде е вдъхновено от древните стъклари, които влагат различни метали в разтопеното стъкло, за да му придадат различен цвят. Няколко години по-късно, без да знае за експеримента на Екимов, Луис Брус успява да постигне същите квантови ефекти при частици кадмиев сулфид, които са свободно суспендирани в течност.
Третият лауреат – Мунги Бавенди, постдокторант в лабораторията на Брус, започва работа върху възможността за създаване на квантови точки с прецизни размери. До момента получените размери са случайни и няма как да бъдат използвани в практиката. Бавенди открива, че прецизното контролиране на температурата по време на нарастване на кристали от кадмиев селенид позволява да се регулира скоростта на нарастване и съответно размерът им. Тази технология се оказва решение за създаването на нанокристали с много равномерна форма и размер, които може да се вложат в производството на различна техника.
В момента квантовите точки се използват за създаване на по-добри светодиоди (на тях се базират QLED дисплеите), на прозорци, които са и слънчеви панели, а в областта на биохимията и медицината – за наблюдение на специфични тъкани и органели. Както и при другите наградени открития, учените считат, че това е само началото и то тепърва ще има принос за развитието на много нови технологии, като гъвкава електроника, по-малки сензори, по-тънки слънчеви панели и подобрения в квантовата криптография.
Interesting New York Timesarticle about high-school students hacking the grading system.
What’s not helping? The policies many school districts are adopting that make it nearly impossible for low-performing students to fail—they have a grading floor under them, they know it, and that allows them to game the system.
Several teachers whom I spoke with or who responded to my questionnaire mentioned policies stating that students cannot get lower than a 50 percent on any assignment, even if the work was never done, in some cases. A teacher from Chapel Hill, N.C., who filled in the questionnaire’s “name” field with “No, no, no,” said the 50 percent floor and “NO attendance enforcement” leads to a scenario where “we get students who skip over 100 days, have a 50 percent, complete a couple of assignments to tip over into 59.5 percent and then pass.”
It’s a basic math hack. If a student needs two-thirds of the points—over 65%—to pass, then they have to do two-thirds of the work. But if doing zero work results in a 50% grade, then they only have to do a little bit of work to get over the pass line.
I know this is a minor thing in the universe of problems with secondary education and grading, but I found the hack interesting. (And this is exactly the sort of thing I explore in my latest book: A Hacker’s Mind.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.